当前位置:  编程技术>php
本页文章导读:
    ▪一个简单的php分页类(入门)      代码如下: <?php /** * 分页类 * www. * */ class Page{ private $total; //查询总的数据记录 private $page; //当前第几页 //private $pagesize; //每.........
    ▪一个php文件上传类      代码如下:   <?php /** * 文件上传类 * www. * */ class UpFile{ private $filePath; //文件目的路径 private $fileField; .........
    ▪php mysql数据库操作类      代码如下。 <?php /** * 数据库操作类 * www. */ class MyDB { private $db_host; //数据库主机名 private $db_user; //数据库用户名 private $db_pwd; //数据库密.........

[1]一个简单的php分页类(入门)
    来源: 互联网  发布时间: 2013-12-24

代码如下:

<?php  
    /** 
     * 分页类 
      * www.
     * */  
    class Page{  
        private  $total;     //查询总的数据记录  
        private  $page;      //当前第几页  
        //private  $pagesize;  //每页显示的条数  
        private  $pagenum;   //总共多少页  
        private  $num;       //每页显示记录的条数  
        private  $offset;    //从数据库中取记录的开始偏移数  
          
        function __construct($total,$page=1,$num=5){  
            $this->total=$total;  
            $this->page=$page;  
            $this->num=$num;  
            $this->pagenum=$this->getPageNum();  
            $this->offset=$this->getOffset();  
        }  
        private function getPageNum(){  
            return  ceil($this->total/$this->num);  
        }  
        private function getNextPage(){    //下一页  
            if($this->page==$this->pagenum){  
                return false;  
            }else {  
                return $this->page+1;  
            }  
        }  
        private  function getPrevPage(){  
            if($this->page==1){            //上一页  
                return false;  
            }else {  
                return $this->page-1;  
            }  
        }  
        private  function getOffset(){  
            return  ($this->page-1)*$this->num;  
        }  
        private function getStartNum(){  
            if ($this->total==0) {  
                return 0;  
            }else {  
                return $this->offset+1;  
            }  
        }  
        private  function getEndNum(){  
            return min($this->offset+$this->num,$this->total);  
        }  
        public function getPageInfo(){  
            $pageInfo=array(  
             "row_total"=>$this->total,  
             "row_num"  =>$this->num,  
             "page_num" =>$this->getPageNum(),  
             "current_page"=>$this->page,  
             "row_offset"=>$this->getOffset(),  
             "next_page"=>$this->getNextPage(),  
             "prev_page"=>$this->getPrevPage(),  
             "page_start"=>$this->getStartNum(),  
             "page_end" =>$this->getEndNum()  
            );  
            return  $pageInfo;  
        }  
    }  
?>

    
[2]一个php文件上传类
    来源: 互联网  发布时间: 2013-12-24

代码如下:
 

<?php  
    /** 
     * 文件上传类 
     * www.
     * */  
    class UpFile{  
        private  $filePath;                             //文件目的路径  
        private  $fileField;                            //默认$_FILES[$fileField],通过$_FILES环境变量获取上传文件信息  
        private  $originName;                           //源文件名  
        private  $tmpFileName;                          //临时文件名  
        private  $fileType;                             //文件类型  
        private  $fileSize;                             //文件大小  
        private  $newFileName;                          //新文件名  
        private  $allowType=array('jpg','gif','png');   //  
        private  $maxSize=2000000;                      //允许文件上传的最大度是2M  
        private  $isUserDefName=false;                  //是否采用用户自定义名  
        private  $userDefName;                          //用户定义名称  
        private  $isRandName=true;                      //是否随机命名  
        private  $randName;                             //系统随机名称  
        private  $errorNum=0;                           //错误号  
        private  $isCoverModer=true;                    //是否覆盖模式  
          
        function  __construct($options=array()){  
            $this->setOptions($options);        //设置上传时属性列表  
        }  
          
        function uploadFile($filefield){  
            $this->setOption('errorNum',0);                //设置错误位  
            $this->setOption('fileField',$filefield);      //设置fileField  
            $this->setFiles();                             //设置文件信息  
            $this->checkValid();                           //判断合法性  
            $this->checkFilePath();                        //检查文件路径  
            $this->setNewFileName();                       //设置新的文件名  
            if($this->errorNum<0)  
            return $this->errorNum;  
         return  $this->copyFile();  //上传文件  
        }  
        private  function setOptions($options=array()){  
            foreach ($options as $key=>$val){  
                if(!in_array($key,array('filePath','fileField','originName','allowType','maxSize','isUserDefName','userDefName','isRandName','randName')))   
                continue;  
                $this->setOption($key,$val);  
            }  
        }  
        private function setFiles(){  
            if($this->getFileErrorFromFILES!=0){  
                $this->setOptions('errorNum',-1);  
                return $this->errorNum;  
            }  
            $this->setOption('originName',$this->getFileNameFromFILES());  
            $this->setOption('tmpFileName',$this->getTmpFileNameFromFILES());  
            $this->setOption('fileType',$this->getFileTypeFromFILES());  
            $this->setOption('fileSize',$this->getFileSizeFromFILES());  
          
        }  
        private function setOption($key,$val){  
            $this->$key=$val;  
        }  
        private  function setNewFileName(){  
            if($this->isRandName==false&&$this->isUserDefName==false){  
                $this->setOption('newFileName',$this->originName);  
            }elseif ($this->isRandName==true&&$this->isUserDefName=false){  
                $this->setOption('newFileName',$this->proRandName().'.'.$this->fileType);  
            }elseif ($this->isRandName==false&&$this->isUserDefName=true){  
                $this->setOption('newFileName',$this->userDefName);  
            }else {  
                $this->setOption('errorNum',-4);  
            }  
        }  
        private function checkValid(){  
            $this->checkFileSize();  
            $this->checkFileType();  
        }  
        private function checkFileType(){  
            if(!in_array($this->fileType,$this->allowType)){  
                $this->setOption('errorNum',-2);  
            }else {  
                return $this->errorNum;  
            }  
        }  
        private  function checkFileSize(){  
            if($this->fileSize>$this->maxSize){  
                $this->setOption('errorNum',-3);  
            }else {  
                return $this->errorNum;  
            }  
        }  
        private  function checkFilePath(){  
            if(!file_exists($this->filePath)){  
                if($this->isCoverModer){  
                    $this->makePath();  
                }else {  
                    $this->setOption('errorNum',-6);  
                }  
            }  
        }  
        private function proRandName(){  
            $tmpStr= "abcdefghijklmnopqrstuvwxyz0123456789";  
            $str="";  
            for ($i=0;$i<8;$i++){  
                $num=rand(0,strlen($tmpStr));  
                $str.=$tmpStr[$num];  
            }  
            return $str;  
        }  
        private function makePath(){  
            if(!@mkdir($this->filePath,0755)){  
                $this->setOption('errorNum',-7);  
            }  
        }  
        private function copyFile(){  
            $filePath=$this->filePath;  
            if($filePath[strlen($filePath)-1]!='/'){  
                $filePath.='/';  
            }  
            $filePath.=$this->newFileName;  
            if(!@move_uploaded_file($this->tmpFileName,$filePath)){  
                $this->setOption('errorNum',-5);  
            }  
            return  $this->errorNum;  
        }  
        function getNewFileName(){  
           return   $this->newFileName;  
        }  
        private function getFileErrorFromFILES(){  
            return  $this->fileField['error'];  
        }  
        private function getFileTypeFromFILES(){  
            $str=$this->fileField['name'];  
            $aryStr=split("\.",$str);                //将字符串分割到数组中  
            $ret=strtolower()($aryStr[count($aryStr)-1]);  
            return  $ret;  
        }  
        private function getFileNameFromFILES(){  
            return $this->fileField['name'];  
        }  
        private function getTmpFileNameFromFILES(){  
            return $this->fileField['tmp_name'];  
        }  
        private function getFileSizeFromFILES(){  
            return $this->fileField['size'];  
        }  
        public function getErrorMsg(){  
            $str="上传文件出错:";  
            switch ($this->errorNum){  
                case -1:  
                    $str.="未知错误!";  
                    break;  
                case -2:  
                    $str.="未允许类型!";  
                    break;  
                case -3:  
                    $str.="文件过大!";  
                    break;  
                case -4:  
                    $str.="产生文件名出错!";  
                    break;  
                case -5:  
                    $str.="上传失败!";  
                    break;  
                case -6:  
                    $str.="目录不存在!";  
                    break;  
                case -7:  
                    $str.="建立目录失败!";  
                    break;  
            }  
            return $str;  
        }  
    }      
?>

    
[3]php mysql数据库操作类
    来源: 互联网  发布时间: 2013-12-24
代码如下。
<?php  
/** 
* 数据库操作类 
* www.
*/  
class MyDB {  
       private $db_host;        //数据库主机名  
        private $db_user;        //数据库用户名  
        private $db_pwd;         //数据库密码  
        private $db_database;    //数据库名  
        private $conn;           //连接标识  
        private $result;         //执行query命令的结果资源标识  
        private $row;            //返回的条目数  
        private $sql;            //sql执行语句  
        private $coding;         //数据库编码  
        private $bulletin=true;       // 是否开启错误记录  
        private $show_error=false;    //测试阶段,显示所有错误,具有安全隐患,默认关闭  
        private $is_error=false;      //发现错误是否立即终止,默认true,建议不启用,因为当有问题时用户什么也看不到是很苦恼的  
        
 //构造函数  
         function __construct($db_host,$db_user,$db_pwd,$db_database,$conn,$doding){  
               $this->db_host=$db_host;  
               $this->db_user=$db_user;  
               $this->db_pwd=$db_pwd;  
               $this->db_database=$db_database;  
               $this->conn=$conn;  
               $this->coding=$coding;  
               $this->connect();  
              
         }  
         //数据库连接  
         public  function connect(){  
            if($this->conn=="pconn"){  
                //永久连接  
                $this->conn=mysql_pconnect()($this->db_host,$this->db_user,$this->db_pwd);  
            }else{  
                //即使连接  
                $this->conn=mysql_connect()($this->db_host,$this->db_user,$this->db_pwd);  
            }  
            if(!mysql_select_db($this->db_database,$this->conn)){  
                if($this->show_error){  
                    $this->show_error("数据库不可用:",$this->db_database);  
                }  
            }  
         }  
           
         //数据库执行语句,可执行查询添加修改删除等任何sql语句  
         public  function query($sql){  
            if($sql==""){  
                $this->show_error("sql语句错误:","sql语句为空");  
            }  
            $this->sql=$sql;  
            $result=mysql_query()($this->sql,$this->conn);  
            if(!$result){  
                if($this->show_error){  
                    $this->show_error("错误sql语句:",$this->sql);  
                }  
            }else {  
                $this->result;  
            }  
            return  $result;  
         }  
         //创建添加新的数据库  
         public  function create_database($database_name){  
             $database=$database_name;  
             $sqlDatabase='create database'.$database;  
             $this->query($sqlDatabase);  
         }  
         //查询服务器所有数据库  
         //将系统数据库与用户分开,更直观的显示  
         public function show_database(){  
            $this->query("show databases");  
            echo "现在有的数据库:".$amount=$this->db_num_rows($rs);  
            echo "<br>";  
            $i=1;  
            while ($row=$this->fetch_array($rs)){  
                echo "$i $row[Database]";  
                echo "<br>";  
                $i++;  
            }  
         }  
         //以数组的形式返回主机中所有的数据库名  
         public function databases(){  
            $rsPtr=mysql_list_dbs($this->conn);  
            $i=0;  
            $cnt=mysql_num_rows($rsPtr);  
            while ($i<$cnt){  
                $rs[]=mysql_db_name($rsPtr,$i);  
                $i++;  
            }  
            return $rs;  
         }  
         //查询数据库下所有的表  
         public  function show_tables($database_name){  
            $this->query("show tables");  
            echo "现有数据库:".$amount=$this->db_num_rows($rs);  
            echo  "<br>";  
            $i=1;  
            while ($row=$this->fetch_array($rs)){  
                $columnName="Tables_in_".$database_name;  
                echo "$i $row[$columnName]";  
                echo "<br>";  
                $i++;  
            }  
         }  
         // 取得结果集  
         public function fetch_array($resultt=""){  
            if($resultt!=""){  
                return mysql_fetch_array($resultt);  
            }else {  
                return mysql_fetch_array($this->result);  
            }  
         }  
         //取得结果数  $row['content']   
         public  function mysql_result_li(){  
            return mysql_result($str);  
         }  
         //获取关联数组  $row['字段名']  
         public  function fetch_assoc(){  
            return mysql_fetch_assoc($this->result);  
         }  
         //获取数字索引数组 $row[0] $row[1] $row[2]   
         public  function fetch_row(){  
            return mysql_fetch_row($this->result);  
         }  
         //获取对象数组,使用$row->content  
         public function fetch_Object(){  
            return mysql_fetch_object($this->result);  
         }  
         //简化查询select  
         public function findall($table){  
            $this->query("select* from $table");  
         }  
         //简化查询select  
         public  function select($table,$columnName="*",$condition='',$debug=''){  
            $condition=$condition?'where'.$condition:null;  
            if($debug){  
                echo "select $columnName from $table $condition";  
            }else{  
                $this->query("select $columnName  from $table $condition");  
            }  
         }  
           
         //简化删除del  
         public function delete($table,$condition,$url=''){  
            if($this->query("delete from $table where $condition")){  
                if(!emptyempty($url)){  
                    $this->Get_admin_msg($url,'删除成功');  
                }  
            }  
         }  
         //简化插入insert   
         public  function insert($table,$columnName,$value,$url=''){  
              if($this->query("insert into $table ($columnName) values ($value)")){  
                if(!emptyempty($url)){  
                    $this->Get_admin_msg($url,'添加成功');  
                }  
              }  
              
         }  
         //简化更新update  
         public function update($table,$mod_content,$condition,$url=''){  
            if($this->query("update $table set $mod_content where $condition")){  
                if(!emptyempty($url)){  
                    $this->Get_admin_msg($url);  
                }  
            }  
         }  
         //取得上一步insert操作的id  
         public  function insert_id(){  
            return  mysql_insert_id();  
         }  
         //指向确定的一条数据记录  
         public  function db_data_seek($id){  
            if($id>0){  
                $id=$id-1;  
            }  
            if(!@mysql_data_seek($this->result,$id)){  
                $this->show_error("sql语句有误:","指定的数据为空");  
            }  
            return $this->result;  
         }  
         //根据select查询结果计算结果集条数  
         public function db_num_rows(){  
            if($this->result=null){  
                if($this->show_error){  
                    $this->show_error("sql语句错误:","暂时为空,没有任何内容");  
                }  
            }else{  
                return mysql_num_rows($this->result);  
            }  
         }  
         //根据insert update delete执行的结果驱动影响行数  
         public function db_affected_rows(){  
            return mysql_affected_rows();  
         }  
         //输出显示sql语句  
         public  function show_error($message="",$sql=""){  
            if(!$sql){  
                echo "<font color='red'>" . $message . "</font>";  
                echo "<br>";  
            }else{  
                 echo "<fieldset>";  
                echo "<legend>错误信息提示:</legend><br />";  
                echo "<div >";  
               echo "<div >";  
                echo "<font color='white'>错误号:12142</font>";  
                echo "</div><br />";  
                echo "错误原因:" . mysql_error() . "<br /><br />";  
               echo "<div >";  
                echo "<font color='white'>" . $message . "</font>";  
                echo "</div>";  
                echo "<font color='red'><pre>" . $sql . "</pre></font>";  
                $ip = $this->getip();  
                if ($this->bulletin) {  
                    $time = date("Y-m-d H:i:s");  
                    $message = $message . "\r\n$this->sql" . "\r\n客户IP:$ip" . "\r\n时间 :$time" . "\r\n\r\n";  
      
                    $server_date = date("Y-m-d");  
                    $filename = $server_date . ".txt";  
                    $file_path = "error/" . $filename;  
                    $error_content = $message;  
                    //$error_content="错误的数据库,不可以链接";  
                    $file = "error"; //设置文件保存目录  
              //建立文件夹  
      if(!file_exists($file)){  
        if(!mkdir($file,0777)){  
            die("upload files directory does not exist and creation failed");  
        }  
      }  
        //建立txt日期文件  
        if(!file_exists($file_path)){  
            fopen($file_path,"w+");  
            if(is_writable($file_path)){  
                if(!$handle=fopen($file_path,'a')){  
                    echo "不能打开文件 $filename";  
                    exit;  
                }  
                if(!fwrite($handle,$error_content)){  
                    echo "不能写到文件 $filename";  
                    exit;  
                }  
                echo "——错误记录被保存!";  
              fclose($handle);  
      
            }else {  
                echo "文件 $filename 不可写";  
            }  
        }else {  
            if(is_writable($file_path)){  
                if(!$handle=fopen($file_path,'a')){  
                     echo "不能打开文件 $filename";  
                     exit;  
                }  
                if(!fwrite($handle,$error_content)){  
                    echo  "不能写入文件 $filename";  
                    exit;  
                }  
                echo "——错误记录被保存!";  
                  fclose($handle);  
            }else {  
                echo "文件 $filename 不可写";  
            }  
        }  
            }  
         echo "<br />";     
         if ($this->is_error) {  
              exit;  
                }  
            }  
         echo "</div>";  
         echo "</fieldset>";  
         echo "<br/>";  
         }  
       //释放结果集  
       public  function free(){  
        @mysql_free_result($this->result);  
       }  
       //数据库选择  
       public  function select_db($db_database){  
        return mysql_select_db($db_database);  
       }  
       //查询字段数量  
       public  function num_fields($table_name){  
        $this->query("select * from $table_name");  
        echo "<br>";  
        echo "字段数:".$total=mysql_num_fields($this->result);  
        for ($i=0;$i<$total;$i++){  
            print_r(mysql_fetch_field($this->result,$i));  
        }  
        echo "</pre>";  
        echo "<br>";  
       }  
       //取得mysql 服务器信息  
       public  function mysql_server($num=''){  
        switch ($num){  
              case 1:  
                return mysql_get_server_info();  
                break;  
                case 2:  
                return mysql_get_host_info();  
                break;  
                case 3:  
                return mysql_get_client_info();  
                break;  
                case 4:  
                return mysql_get_proto_info();  
                break;  
                default:  
                    return mysql_get_client_info();  
        }  
       }  
      public  function __destruct(){  
        if(!emptyempty($this->result)){  
            $this->free();  
        }  
        mysql_close($this->conn);  
      }  
      //获得客户端真实的ID地址  
       function getip() {  
            if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {  
                $ip = getenv("HTTP_CLIENT_IP");  
            } else  
                if (getenv("HTTP_X_FORWARDED_FOR") &&strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {  
                    $ip = getenv("HTTP_X_FORWARDED_FOR");  
                } else  
                    if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {  
                        $ip = getenv("REMOTE_ADDR");  
                    } else  
                        if (isset() ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] &&strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {  
                            $ip = $_SERVER['REMOTE_ADDR'];  
                        } else {  
                            $ip = "unknown";  
                        }  
            return ($ip);  
       }        
    }     
?>  

    
最新技术文章:
▪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