当前位置:  编程技术>php
本页文章导读:
    ▪php 登录验证的代码(基于文件保存的密码)      php实现用户登录的验证,代码: <?php /** * @ 用户登录验证 * @ by www. */ $authorized = FALSE; //登录与否 if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) { $authFile = file(.........
    ▪php 生成指定长度与强度的密码      以下代码可以生成指定长度的用户密码,还可以设定密码强度,包括小写字母密码、大小写字母密码、大小写字母与数字密码、大小写字母与数字 特殊符号等组成的密码。 代码: <?php /**.........
    ▪php写excel文件的实现代码      php写excel文件,包括标题。这在日常的开发中经常用到,比如一些联系人名单、公司通讯录的操作,都会用到php操作excel文件的功能。 代码: <?php /** * 将联系人导出为excel * @para.........

[1]php 登录验证的代码(基于文件保存的密码)
    来源: 互联网  发布时间: 2013-12-24

php实现用户登录的验证,代码:

<?php
/**
* @ 用户登录验证
* @ by www.
*/
   $authorized = FALSE; //登录与否

   if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
      $authFile = file("./password.txt");

      foreach ($authFile as $login) {
         list($username, $password) = explode(":", $login);
         $password = trim($password);
         if (($username == $_SERVER['PHP_AUTH_USER']) && ($password == md5($_SERVER['PHP_AUTH_PW']))) {
            $authorized = TRUE;
            break;
         }
      }
   }

   // If not authorized, display authentication prompt or 401 error
   if (! $authorized) {
      header('WWW-Authenticate: Basic Realm="Secret Stash"');
      header('HTTP/1.0 401 Unauthorized');
      print('You must provide the proper credentials!');
      exit;
   }

?>

//保存密码的文件password.txt
<!-- password.txt
joe:60d99e58d66a5e0f4f89ec3ddd1d9a80

-->

    
[2]php 生成指定长度与强度的密码
    来源: 互联网  发布时间: 2013-12-24

以下代码可以生成指定长度的用户密码,还可以设定密码强度,包括小写字母密码、大小写字母密码、大小写字母与数字密码、大小写字母与数字 特殊符号等组成的密码。

代码:

<?php
/**
* 函数:generateRandpassword
* 参数:$size 密码长度 $power密码强度 
* 功能:生成密码的函数
* 编辑:www.
*/
function generateRandpassword($size=9, $power=0) {
    $vowels = 'aeuy';
    $randconstant = 'bdghjmnpqrstvz';
    if ($power & 1) {
        $randconstant .= 'BDGHJLMNPQRSTVWXZ';
    }
    if ($power & 2) {
        $vowels .= "AEUY";
    }
    if ($power & 4) {
        $randconstant .= '23456789';
    }
    if ($power & 8) {
        $randconstant .= '@#$%';
    }

    $Randpassword = '';
    $alt = time() % 2;
    for ($i = 0; $i < $size; $i++) {
        if ($alt == 1) {
            $Randpassword .= $randconstant[(rand() % strlen($randconstant))];
            $alt = 0;
        } else {
            $Randpassword .= $vowels[(rand() % strlen($vowels))];
            $alt = 1;
        }
    }
    return $Randpassword;
}
?>

    
[3]php写excel文件的实现代码
    来源: 互联网  发布时间: 2013-12-24

php写excel文件,包括标题。这在日常的开发中经常用到,比如一些联系人名单、公司通讯录的操作,都会用到php操作excel文件的功能。

代码:

<?php
/** 
     * 将联系人导出为excel 
     * @param $filename string 导出文件名 
     * @param $titles array 标题数组 
     * @param $elements array(array()) 元素数组 
     */  
    public function exportFileContacts($filename, $titles, $elements){  
        try {  
            $objPHPExcel = new PHPExcel();  
            $objPHPExcel->setActiveSheetIndex(0); //设置活动页面  
            $activeSheet = $objPHPExcel->getActiveSheet(); //获取当前活动页面  
            $activeSheet->getDefaultColumnDimension()->setWidth(16); //设置列宽16  
            $activeSheet->setTitle("联系人"); //设置sheet的名称  
              
            //设置标题,单元格第一列为0,第一行为1  
            $colNum = count($titles);  
            for($i = 0; $i < $colNum; $i++){  
                $activeSheet->getStyleByColumnAndRow($i, 1)->getFont()->setBold(true); //设置标题加粗  
                $activeSheet->setCellValueByColumnAndRow($i, 1, $titles[$i]);  
            }  
              
            //设置 body,row从2开始,第一行已经被设置为标题了  
            $rowNum = count($elements);  
            for($row = 0; $row < $rowNum; $row++){  
    for($col = 0; $col < $colNum; $col++){  
      $activeSheet->getStyle($this->numToEn($col).($row+2))->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);  
      $activeSheet->setCellValue($this->numToEn($col).($row+2)," ".$elements[$row][$col]);
  //在写入Excels单元格的内容之前加一个空格,防止长数字被转化成科学计数法  
      $activeSheet->getStyle($this->numToEn($col).($row+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);  
      }  
 }  
              
//获取保存文件名称  
 $filetype = $this->getFileType($filename);  
//根据文件类型读取excel文件  
ob_end_clean();  
 $objWriter = null;  
if ($filetype == "xlsx") {  
  $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');  
  header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');  
  header('Content-Disposition: attachment;filename='.urlencode($filename));  
  header('Cache-Control: max-age=0');  
 ob_end_clean();  
  $objWriter->save('php://output');  
   $objPHPExcel->disconnectWorksheets();  
    unset($objPHPExcel);  
                exit;  
            } elseif ($filetype == "xls") {  
                $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');  
                header('Content-Type: application/vnd.ms-excel');  
                header('Content-Disposition: attachment;filename='.urlencode($filename));  
                header('Cache-Control: max-age=0');  
                                ob_end_clean();  
                $objWriter->save('php://output');  
                $objPHPExcel->disconnectWorksheets();  
                unset($objPHPExcel);  
                exit;  
            } else {  
                return false;  
            }  
        } catch (Exception $e) {  
             HWS::logErr('EXCEL ERROR:'.$e->getMessage());  
             $errText = "创建错误文件失败,请联系管理员,稍后再试!";  
             return array('createFileErr'=>$errText);  
        }  
    }  
  
/** 
     * 获取文件类型 
     * @param $filenamePath 文件路径或者文件名 
     */  
    private function getFileType($filenamePath){  
        if (!$filenamePath){  
            return false;  
        }  
        $filenameArr = explode('/', $filenamePath);  
        $count = count($filenameArr);  
        $filename = $filenameArr[$count-1];  
          
        $filetypeArr = explode('.', $filename);  
        $count = count($filetypeArr);  
        $filetype = $filetypeArr[$count-1];  
        return $filetype;     
    }  
      
    /** 
    根据给定的数字生成至多两位对应EXCEL文件列的字母 
    */  
    private function numToEn($num)  
    {  
        $asc = 0;  
        $en = "";  
        $num =(int)$num+1;  
        if($num<26)                      //判断指定的数字是否需要用两个字母表示  
        {  
            if((int)$num<10)  
            {  
                $asc = ord($num);  
                $en =chr($asc+16);  
            }  
            else  
            {  
                $num_g = substr($num,1,1);  
                $num_s = substr($num,0,1);  
                $asc = ord($num_g);  
                $en =chr($asc+16+10*$num_s);  
            }  
        }  
        else  
        {  
            $num_complementation = floor($num/26);  
            $en_q = $this->numToEn($num_complementation);  
            $en_h = $num%26 != 0 ? $this->numToEn($num-$num_complementation*26):"A";  
            $en = $en_q.$en_h;  
        }  
        return $en;  
    }

代码说明:
exportFileContacts方法中的两个ob_end_clean();$objPHPExcel->disconnectWorksheets();unset($objPHPExcel);
是为了清除缓冲区内容,防止导出的excel出错,打不开,报格式化错误。


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3