Home  >  Article  >  Backend Development  >  How to implement image upload encapsulation in php

How to implement image upload encapsulation in php

L
LOriginal
2020-06-02 11:44:012305browse

How to implement image upload encapsulation in php

php implements image upload encapsulation

1 First encapsulate the image upload class file.class.php

    <?php  
    class File{  
        public $images;  
        public $filename;  
        public $allow_size;  
        public function __construct($images,$filename,$allow_size){  
            $this->images=$images;  
            $this->filename=$filename;  
            $this->allow_size=$allow_size;  
        }  
        //文件大小  
        public function allow_size(){  
            if($_FILES[$this->filename][&#39;size&#39;]>$this->allow_size){  
                echo "上传文件过大";  
                return false;  
            }  
            return true;  
        }  
        //新的名字  
        public function type(){  
            $type=substr($_FILES[$this->filename][&#39;name&#39;],strrpos($_FILES[$this->filename][&#39;name&#39;],&#39;.&#39;)+1);  
            $name=time().rand(1000,9999).".".$type;  
            return $name;  
        }  
        //放到一个新的文件  
        public function move(){  
            $name=$this->type();  
            if(is_uploaded_file($_FILES[$this->filename][&#39;tmp_name&#39;])){  
                @move_uploaded_file($_FILES[$this->filename][&#39;tmp_name&#39;],$this->images.$name);  
                echo "<script>alert(&#39;添加图片成功&#39;)</script>";  
                return $name;  
            }else{  
                echo "<script>alert(&#39;添加图片失败&#39;)</script>";  
            }  
        }  
        //判断文件上传是否成功  
        public function error(){  
             if($_FILES[$this->filename][&#39;error&#39;]==0){  
                return true;  
            }else if($_FILES[$this->filename][&#39;error&#39;]==1){  
                 echo "文件的大小超过了php.ini中配置文件的大小";  
                 return false;  
             }else if($_FILES[$this->filename][&#39;error&#39;]==2){  
                 echo "文件中的配置大小有问题";  
                 return false;  
             }else if($_FILES[$this->filename][&#39;error&#39;]==3){  
                 echo "找不到文件的位置";  
                 return false;  
      
             }  
        }  
    }

2 Encapsulate the database class mysql.class.php

    <?php  
    class Mysql{  
        public $db_link;  
        public $db_address;  
        public $db_user;  
        public $db_pwd;  
        public $db_name;  
        //public function __construct(IP地址, 用户名, 密码, 数据库)  
        public function __construct($address,$user,$pwd,$name){  
            $this->db_address=$address;  
            $this->db_user=$user;  
            $this->db_pwd=$pwd;  
            $this->db_name=$name;  
            $this->connect();  
        }  
        //连接数据库  
        public function connect(){  
            $this->db_link=mysql_connect($this->db_address,$this->db_user,$this->db_pwd);  
            mysql_select_db($this->db_name);  
            mysql_query("set names utf8");  
        }  
        //进行 增删改  
        public function dml($sql){  
            $res=mysql_query($sql);  
            if(!$res){  
                echo"sql语句错误";  
            }else{  
                return $res;  
            }  
        }  
        //进行多条数据的查询  
        public function select_all($sql){  
            $res=mysql_query($sql);  
            if(is_resource($res) && mysql_affected_rows()>0){  
                $arr=array();  
                while($w=mysql_fetch_assoc($res)){  
                    $arr[]=$w;  
                }  
                return $arr;  
            }else{  
                return false;  
            }  
        }  
        //进行单行数据进行查询  
        public function select_one($sql){  
            $res=mysql_query($sql);  
            if(is_resource($res) && mysql_affected_rows()>0){  
                return mysql_fetch_assoc($res);  
            }else{  
                return false;  
            }  
        }  
        //将数据中的某一条数据进行删除  @parme : 表名  条件  
        public function delete($table,$where){  
            //$str=mysql_query($sql);  
            $str="delete from $table where $where";  
            return mysql_query($str);  
        }  
        //update table set name=&#39;fasf &#39; where  id=4;  
        public function update1($table,$arr,$where){  
            $str="";  
            foreach($arr as $k=>$v){  
                if(is_string($v)){  
                    $str=$str.$k.&#39;="$v",&#39;;  
                }else{  
                    $str=$str.$k."=".$v.",";  
                }  
            }  
            $value=rtrim($str,&#39;,&#39;);  
            $sql="update $table set $value where $where";  
            return mysql_query($sql);  
        }  
        //添加一条数据insert into table(name,age) value(&#39;$name&#39;,&#39;$age&#39;);  
        public function insert($table,$arr){  
            $str1=&#39;&#39;;  
            $str2=&#39;&#39;;  
            foreach($arr as $k=>$v){  
                $str1=$str1.$k.",";  
                if(is_string($v)){  
                    $str2=$str2.&#39;"&#39;.$v.&#39;",&#39;;  
                }else{  
                    $str2=$str2.$v.&#39;,&#39;;  
                }  
            }  
            $key=substr($str1,0,strlen($str1)-1);  
            $value=substr($str2,0,strlen($str2)-1);  
            $sql="insert into $table($key) value($value)";  
            mysql_query($sql);  
            return mysql_insert_id();  
        }  
        public function counts($sql){  
            mysql_query($sql);  
            return mysql_affected_rows();  
        }  
    }  
    ?>

3 Create a file upload form upload.php

    <form action="uploading_insert.php" method="post" enctype="multipart/form-data">  
        <meta charset="utf-8"/>  
        <fieldset>  
            <legend>用户上传信息</legend>  
            <p>  
                <label>姓名:</label>  
                <input type="text" name="username">  
            </p>  
            <p>  
                <label>密码:</label>  
                <input type="text" name="pwd">  
            </p>  
            <p>  
                <label>身份证号:</label>  
                <input type="text" name="card1">  
            </p>  
            <p>  
                <label>上传图像:</label>  
                <input type="file" name="filename"><input type="hidden" name="MAX_FILES_SIZE" value="1000000">  
            </p>  
            <p>  
                <input type="submit" value="上传">  
            </p>  
        </fieldset>  
    </form>

Recommended tutorial: "PHP Tutorial"

The above is the detailed content of How to implement image upload encapsulation in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn