溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php實(shí)現(xiàn)圖片上傳封裝的代碼

發(fā)布時間:2020-06-02 14:42:27 來源:億速云 閱讀:279 作者:Leah 欄目:編程語言

這篇文章的知識點(diǎn)包括:file.class.php、mysql.class.php以及upload.php類的使用,閱讀完整文相信大家對php實(shí)現(xiàn)圖片上傳封裝的方法有了一定的認(rèn)識。

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 封裝數(shù)據(jù)庫類 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地址, 用戶名, 密碼, 數(shù)據(jù)庫)  
        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();  
        }  
        //連接數(shù)據(jù)庫  
        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");  
        }  
        //進(jìn)行 增刪改  
        public function dml($sql){  
            $res=mysql_query($sql);  
            if(!$res){  
                echo"sql語句錯誤";  
            }else{  
                return $res;  
            }  
        }  
        //進(jìn)行多條數(shù)據(jù)的查詢  
        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;  
            }  
        }  
        //進(jìn)行單行數(shù)據(jù)進(jìn)行查詢  
        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;  
            }  
        }  
        //將數(shù)據(jù)中的某一條數(shù)據(jù)進(jìn)行刪除  @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);  
        }  
        //添加一條數(shù)據(jù)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 創(chuàng)建文件上傳表單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>

看完上述內(nèi)容,你們知道怎么實(shí)現(xiàn)圖片上傳封裝了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI