php封装的单文件(图片)上传类完整实例

时间:2021-05-02

本文实例讲述了php封装的单文件(图片)上传类。分享给大家供大家参考,具体如下:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 <?php //封装php中的单文件(图片)上传类 header('content-type:text/html;charset=utf-8'); class Upload{ //定义一个属性,专门保存错误信息 public static $error; //文件转移的方法 public function uploadFile($file,$size,$path){ if(!is_dir($path)){ $this->mkPath($path); } $allow=array('image/jpeg','image/jpg','image/png','image/gif'); //首先判断文件是否已上传到临时目录 if(!is_array($file)){ Upload::$error='不是一个有效的文件'; return false; } //判断文件是否上传到临时目录成功 switch($file['error']){ case 1: Upload::$error='上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。'; return false; case 2: Upload::$error='上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。'; return false; case 3: Upload::$error='文件只有部分被上传'; return false; case 4: Upload::$error='没有文件被上传'; return false; case 6: Upload::$error='找不到临时文件夹'; return false; case 7: Upload::$error='文件写入失败'; return false; } //判断文件类型是否是图片 if(!in_array($file['type'],$allow)){ Upload::$error='不是要求的文件类型'; return false; } //判断文件的大小是否在允许的范围内 if($file['size']>$size){ Upload::$error='超出允许最大文件大小'; return false; } //文件转移 if(move_uploaded_file($file['tmp_name'],$path.'/'.$this->getName($file))){ return $file['name']; }else{ return Upload::$error; } } //创建目录的方法 private function mkPath($path){ mkdir($path); } //文件重命名 private function getName($file){ return time().$file['name']; } }

希望本文所述对大家PHP程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章