Sian 发表于 2016-1-9 23:25:59

PHP简单图片上传类封装实现

项目链接:http://www.yusian.com/thread-11071-1-1.html
<?php
        class Upload{
               
                private $path;
                // 构造方法
                function __construct($path){
                        $this->path = $path;
                }
                // 1、保存文件
                public function save_file($file){
                        if ($this->get_file($file) && $this->file_type($file) && $this->file_size($file)){
                                return $this->move($file);
                        }else{
                                return false;
                        }
                }
                /****************私有方法********************/
                // 获取文件
                private function get_file($file){
                        $error = $file["error"];
                        if($error > 0){
                                switch($error){
                                        case1: echo "上传时超过了upload_max_filesie<br/>";return false;
                                        case2: echo "超过了表单MAX_FILE_SIZE<br/>";return false;
                                        case3: echo "文件只部分上传<br/>";return false;
                                        case4: echo "没有上传任何文件<br/>";return false;
                                        default: echo "其他<br/>";return false;
                                }
                        }else{
                                return true;
                        }
                }
                // 判断文件类型
                private function file_type($file){
                        $allow_type = array("jpg", "jpeg", "png");
                        $array = explode(".", $file["name"]);
                        $file_type = end($array);
                        if (!in_array($file_type, $allow_type)){
                                echo "上传的文件类型不合法!<br/>";
                                return false;
                        }else{
                                return true;
                        }
                }
                // 判断文件大小
                private function file_size($file){
                        $max_size = 1000000;
                        if ($file["size"] > $max_size){
                                echo "上传的文件大小超出了最大值1M<br/>";return false;
                        }else{
                                return true;
                        }
                }
                // 移动文件位置
                private function move($file){
                        $array = explode(".", $file["name"]);
                        $file_type = end($array);
                        $file_name = date("YmdHis").rand(100, 999).".{$file_type}";
                        $save_url = $this->path."/".$file_name;
                        if(move_uploaded_file($file["tmp_name"], $save_url)){
                                echo "<br/>上传成功!<br/>";
                                return $file_name;
                        }else{
                                echo "<br/>上传失败!<br/>";
                                return false;
                        }
                }
        }
       
页: [1]
查看完整版本: PHP简单图片上传类封装实现