本文实例讲述了php封装的单文件(图片)上传类。分享给大家供大家参考,具体如下:
<?php //封装php中的单文件(图片)上传类 /* //参数1:$file 文件数组 5个属性值 name,type,size,tmp,error //参数2:文件保存的路径$path //参数3:文件上传允许的类型 $allow数组 $allow=array('image/jpeg','image/jpg','image/png','image/gif') //参数4: 允许文件上传的最大大小 $size //返回值: return $imagename文件的名字 */ 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相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《php图形与图片操作技巧汇总》、《php数组(array)操作技巧大全》、《php基本语法入门教程》、《php运算与运算符用法总结》、《php面向对象程序设计入门教程》、《php网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家php程序设计有所帮助。
如对本文有疑问, 点击进行留言回复!!
[ACTF2020 新生赛]Include 1【文件包含】【读取代码】
算法题解 - 牛客编程巅峰赛S1第6场 - 黄金&钻石&王者组
推荐一个程序员必备网站之一:Dev Hints ,非常实用!
网友评论