当前位置: 编程技术>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); } } ?>
最新技术文章: