php封装的单文件(图片)上传类完整实例
本文实例讲述了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'); classUpload{ //定义一个属性,专门保存错误信息 publicstatic$error; //文件转移的方法 publicfunctionuploadFile($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='不是一个有效的文件'; returnfalse; } //判断文件是否上传到临时目录成功 switch($file['error']){ case1: Upload::$error='上传的文件超过了php.ini中upload_max_filesize选项限制的值。'; returnfalse; case2: Upload::$error='上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。'; returnfalse; case3: Upload::$error='文件只有部分被上传'; returnfalse; case4: Upload::$error='没有文件被上传'; returnfalse; case6: Upload::$error='找不到临时文件夹'; returnfalse; case7: Upload::$error='文件写入失败'; returnfalse; } //判断文件类型是否是图片 if(!in_array($file['type'],$allow)){ Upload::$error='不是要求的文件类型'; returnfalse; } //判断文件的大小是否在允许的范围内 if($file['size']>$size){ Upload::$error='超出允许最大文件大小'; returnfalse; } //文件转移 if(move_uploaded_file($file['tmp_name'],$path.'/'.$this->getName($file))){ return$file['name']; }else{ returnUpload::$error; } } //创建目录的方法 privatefunctionmkPath($path){ mkdir($path); } //文件重命名 privatefunctiongetName($file){ returntime().$file['name']; } }
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP图形与图片操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。