php如何實現圖片上傳的封裝

2020-07-16 10:05:56

php實現圖片上傳封裝

1 先封裝圖片上傳類 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]['size']>$this->allow_size){  
                echo "上傳檔案過大";  
                return false;  
            }  
            return true;  
        }  
        //新的名字  
        public function type(){  
            $type=substr($_FILES[$this->filename]['name'],strrpos($_FILES[$this->filename]['name'],'.')+1);  
            $name=time().rand(1000,9999).".".$type;  
            return $name;  
        }  
        //放到一個新的檔案  
        public function move(){  
            $name=$this->type();  
            if(is_uploaded_file($_FILES[$this->filename]['tmp_name'])){  
                @move_uploaded_file($_FILES[$this->filename]['tmp_name'],$this->images.$name);  
                echo "<script>alert('新增圖片成功')</script>";  
                return $name;  
            }else{  
                echo "<script>alert('新增圖片失敗')</script>";  
            }  
        }  
        //判斷檔案上傳是否成功  
        public function error(){  
             if($_FILES[$this->filename]['error']==0){  
                return true;  
            }else if($_FILES[$this->filename]['error']==1){  
                 echo "檔案的大小超過了php.ini中組態檔的大小";  
                 return false;  
             }else if($_FILES[$this->filename]['error']==2){  
                 echo "檔案中的設定大小有問題";  
                 return false;  
             }else if($_FILES[$this->filename]['error']==3){  
                 echo "找不到檔案的位置";  
                 return false;  
      
             }  
        }  
    }

2 封裝資料庫類 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='fasf ' where  id=4;  
        public function update1($table,$arr,$where){  
            $str="";  
            foreach($arr as $k=>$v){  
                if(is_string($v)){  
                    $str=$str.$k.'="$v",';  
                }else{  
                    $str=$str.$k."=".$v.",";  
                }  
            }  
            $value=rtrim($str,',');  
            $sql="update $table set $value where $where";  
            return mysql_query($sql);  
        }  
        //新增一條資料insert into table(name,age) value('$name','$age');  
        public function insert($table,$arr){  
            $str1='';  
            $str2='';  
            foreach($arr as $k=>$v){  
                $str1=$str1.$k.",";  
                if(is_string($v)){  
                    $str2=$str2.'"'.$v.'",';  
                }else{  
                    $str2=$str2.$v.',';  
                }  
            }  
            $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 建立檔案上傳表單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>
以上就是php如何實現圖片上傳的封裝的詳細內容,更多請關注TW511.COM其它相關文章!