本文实例讲述了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程序设计有所帮助。
本文向大家介绍php封装的图片(缩略图)处理类完整实例,包括了php封装的图片(缩略图)处理类完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php封装的图片(缩略图)处理类。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP图形与图片操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程
本文向大家介绍php封装的mysqli类完整实例,包括了php封装的mysqli类完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php封装的mysqli类。分享给大家供大家参考,具体如下: 类: 用法测试: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》
本文向大家介绍PHP操作Mongodb封装类完整实例,包括了PHP操作Mongodb封装类完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP操作Mongodb封装类。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP+MongoDB数据库操作技巧大全》、《PHP基于pdo操作数据库技巧总结》、《php面向对象程序设计入门教程》、《php
本文向大家介绍一个完整的php文件上传类实例讲解,包括了一个完整的php文件上传类实例讲解的使用技巧和注意事项,需要的朋友参考一下 这个文件上传类可以自定上传文件大小与上传文件类型及文件保存地址,在使用过程中有一个问题就是如果是中文文件名进行上传就会出现乱码,所以大家解决办法就是把页面保存成uft8即可解决。 下面就是为大家分享的代码: 调用方法 代码如下 补充说明:在编码上面还是有些问题,
本文向大家介绍php基于单例模式封装mysql类完整实例,包括了php基于单例模式封装mysql类完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php基于单例模式封装mysql类。分享给大家供大家参考,具体如下: 类: 测试: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《
本文向大家介绍PHP操作Postgresql封装类与应用完整实例,包括了PHP操作Postgresql封装类与应用完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP操作Postgresql封装类与应用。分享给大家供大家参考,具体如下: 这个类封装了一些常用的函数,原帖里面还有事务处理的内容,以后再学习吧。 类文件定义: 测试的php一并放出,另外测试了下局域网内的另一台post