• 技术文章 >后端开发 >php教程

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

    LL2020-06-02 11:44:01原创1189

    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教程

    以上就是php如何实现图片上传的封装的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:【设计模式】PHP单例模式的应用场景和实现 下一篇:php简单图形面积计算器的实现
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 网页设计是要学 PHP 还是 Java• php二维数组转一维数组的函数有哪些• php实现字符串字母大写转小写的方法有哪些• php数组如何去除空元素
    1/1

    PHP中文网