当前位置:首页 > PHP教程 > php上传下载 > 列表

php如何实现图片上传的封装

发布:smiling 来源: PHP粉丝网  添加日期:2022-06-18 10:52:12 浏览: 评论:0 

php实现图片上传封装

1 先封装图片上传类 file.class.php

  1. <?php   
  2.  
  3. class File{   
  4.  
  5.     public $images;   
  6.  
  7.     public $filename;   
  8.  
  9.     public $allow_size;   
  10.  
  11.     public function __construct($images,$filename,$allow_size){   
  12.  
  13.         $this->images=$images;   
  14.  
  15.         $this->filename=$filename;   
  16.  
  17.         $this->allow_size=$allow_size;   
  18.  
  19.     }   
  20.  
  21.     //文件大小   
  22.  
  23.     public function allow_size(){   
  24.  
  25.         if($_FILES[$this->filename]['size']>$this->allow_size){   
  26.  
  27.             echo "上传文件过大";   
  28.  
  29.             return false;   
  30.  
  31.         }   
  32.  
  33.         return true;   
  34.  
  35.     }   
  36.  
  37.     //新的名字   
  38.  
  39.     public function type(){   
  40.  
  41.         $type=substr($_FILES[$this->filename]['name'],strrpos($_FILES[$this->filename]['name'],'.')+1);   
  42.  
  43.         $name=time().rand(1000,9999).".".$type;   
  44.  
  45.         return $name;   
  46.  
  47.     }   
  48.  
  49.     //放到一个新的文件   
  50.  
  51.     public function move(){   
  52.  
  53.         $name=$this->type();   
  54.  
  55.         if(is_uploaded_file($_FILES[$this->filename]['tmp_name'])){   
  56.  
  57.             @move_uploaded_file($_FILES[$this->filename]['tmp_name'],$this->images.$name);   
  58.  
  59.             echo "<script>alert('添加图片成功')</script>";   
  60.  
  61.             return $name;   
  62.  
  63.         }else{   
  64.  
  65.             echo "<script>alert('添加图片失败')</script>";   
  66.  
  67.         }   
  68.  
  69.     }   
  70.  
  71.     //判断文件上传是否成功   
  72.  
  73.     public function error(){   
  74.  
  75.          if($_FILES[$this->filename]['error']==0){   
  76.  
  77.             return true;   
  78.  
  79.         }else if($_FILES[$this->filename]['error']==1){   
  80.  
  81.              echo "文件的大小超过了php.ini中配置文件的大小";   
  82.  
  83.              return false;   
  84.  
  85.          }else if($_FILES[$this->filename]['error']==2){   
  86.  
  87.              echo "文件中的配置大小有问题";   
  88.  
  89.              return false;   
  90.  
  91.          }else if($_FILES[$this->filename]['error']==3){   
  92.  
  93.              echo "找不到文件的位置";   
  94.  
  95.              return false;   
  96.  
  97.     
  98.  
  99.          }   
  100.  
  101.     }   
  102.  

2 封装数据库类 mysql.class.php

  1. <?php   
  2.  
  3. class Mysql{   
  4.  
  5.     public $db_link;   
  6.  
  7.     public $db_address;   
  8.  
  9.     public $db_user;   
  10.  
  11.     public $db_pwd;   
  12.  
  13.     public $db_name;   
  14.  
  15.     //public function __construct(IP地址, 用户名, 密码, 数据库)   
  16.  
  17.     public function __construct($address,$user,$pwd,$name){   
  18.  
  19.         $this->db_address=$address;   
  20.  
  21.         $this->db_user=$user;   
  22.  
  23.         $this->db_pwd=$pwd;   
  24.  
  25.         $this->db_name=$name;   
  26.  
  27.         $this->connect();   
  28.  
  29.     }   
  30.  
  31.     //连接数据库   
  32.  
  33.     public function connect(){   
  34.  
  35.         $this->db_link=mysql_connect($this->db_address,$this->db_user,$this->db_pwd);   
  36.  
  37.         mysql_select_db($this->db_name);   
  38.  
  39.         mysql_query("set names utf8");   
  40.  
  41.     }   
  42.  
  43.     //进行 增删改   
  44.  
  45.     public function dml($sql){   
  46.  
  47.         $res=mysql_query($sql);   
  48.  
  49.         if(!$res){   
  50.  
  51.             echo"sql语句错误";   
  52.  
  53.         }else{   
  54.  
  55.             return $res;   
  56.  
  57.         }   
  58.  
  59.     }   
  60.  
  61.     //进行多条数据的查询   
  62.  
  63.     public function select_all($sql){   
  64.  
  65.         $res=mysql_query($sql);   
  66.  
  67.         if(is_resource($res) && mysql_affected_rows()>0){   
  68.  
  69.             $arr=array();   
  70.  
  71.             while($w=mysql_fetch_assoc($res)){   
  72.  
  73.                 $arr[]=$w;   
  74.  
  75.             }   
  76.  
  77.             return $arr;   
  78.  
  79.         }else{   
  80.  
  81.             return false;   
  82.  
  83.         }   
  84.  
  85.     }   
  86.  
  87.     //进行单行数据进行查询   
  88.  
  89.     public function select_one($sql){   
  90.  
  91.         $res=mysql_query($sql);   
  92.  
  93.         if(is_resource($res) && mysql_affected_rows()>0){   
  94.  
  95.             return mysql_fetch_assoc($res);   
  96.  
  97.         }else{   
  98.  
  99.             return false;   
  100.  
  101.         }   
  102.  
  103.     }   
  104.  
  105.     //将数据中的某一条数据进行删除  @parme : 表名  条件   
  106.  
  107.     public function delete($table,$where){   
  108.  
  109.         //$str=mysql_query($sql);   
  110.  
  111.         $str="delete from $table where $where";   
  112.  
  113.         return mysql_query($str);   
  114.  
  115.     }   
  116.  
  117.     //update table set name='fasf ' where  id=4;   
  118.  
  119.     public function update1($table,$arr,$where){   
  120.  
  121.         $str="";   
  122.  
  123.         foreach($arr as $k=>$v){   
  124.  
  125.             if(is_string($v)){   
  126.  
  127.                 $str=$str.$k.'="$v",';   
  128.  
  129.             }else{   
  130.  
  131.                 $str=$str.$k."=".$v.",";   
  132.  
  133.             }   
  134.  
  135.         }   
  136.  
  137.         $value=rtrim($str,',');   
  138.  
  139.         $sql="update $table set $value where $where";   
  140.  
  141.         return mysql_query($sql);   
  142.  
  143.     }   
  144.  
  145.     //添加一条数据insert into table(name,age) value('$name','$age');   
  146.  
  147.     public function insert($table,$arr){   
  148.  
  149.         $str1='';   
  150.  
  151.         $str2='';   
  152.  
  153.         foreach($arr as $k=>$v){   
  154.  
  155.             $str1=$str1.$k.",";   
  156.  
  157.             if(is_string($v)){   
  158.  
  159.                 $str2=$str2.'"'.$v.'",';   
  160.  
  161.             }else{   
  162.  
  163.                 $str2=$str2.$v.',';   
  164.  
  165.             }   
  166.  
  167.         }   
  168.  
  169.         $key=substr($str1,0,strlen($str1)-1);   
  170.  
  171.         $value=substr($str2,0,strlen($str2)-1);   
  172.  
  173.         $sql="insert into $table($key) value($value)";   
  174.  
  175.         mysql_query($sql);   
  176.  
  177.         return mysql_insert_id();   
  178.  
  179.     }   
  180.  
  181.     public function counts($sql){   
  182.  
  183.         mysql_query($sql);   
  184.  
  185.         return mysql_affected_rows();   
  186.  
  187.     }   
  188.  
  189. }   
  190.  
  191. ?> 

3 创建文件上传表单upload.php

  1. <form action="uploading_insert.php" method="post" enctype="multipart/form-data">   
  2.  
  3.     <meta charset="utf-8"/>   
  4.  
  5.     <fieldset>   
  6.  
  7.         <legend>用户上传信息</legend>   
  8.  
  9.         <p>   
  10.  
  11.             <label>姓名:</label>   
  12.  
  13.             <input type="text" name="username">   
  14.  
  15.         </p>   
  16.  
  17.         <p>   
  18.  
  19.             <label>密码:</label>   
  20.  
  21.             <input type="text" name="pwd">   
  22.  
  23.         </p>   
  24.  
  25.         <p>   
  26.  
  27.             <label>身份证号:</label>   
  28.  
  29.             <input type="text" name="card1">   
  30.  
  31.         </p>   
  32.  
  33.         <p>   
  34.  
  35.             <label>上传图像:</label>   
  36.  
  37.             <input type="file" name="filename"><input type="hidden" name="MAX_FILES_SIZE" value="1000000">   
  38.  
  39.         </p>   
  40.  
  41.         <p>   
  42.  
  43.             <input type="submit" value="上传">   
  44.  
  45.         </p>   
  46.  
  47.     </fieldset>   
  48.  
  49. </form>

Tags: php图片上传封装

分享到: