php实现常用文件上传类
2018-06-22 05:27:29来源:未知 阅读 ()
1 <?php 2 /** 3 * 上传文件类 4 * @param _path : 服务器文件存放路径 5 * @param _allowType : 允许上传的文件类型和所对应的MIME 6 * @param _file : 上传的文件信息 7 */ 8 class Upload{ 9 10 private $_path; 11 private $_allowType; 12 private $_file; 13 /** 14 * 构造函数 15 * @param string : 服务器上存放上传文件的路径 16 */ 17 function __construct( $path = '' ) 18 { 19 $this->_path = $path; 20 $this->_allowType = array( 21 // images 22 'bmp' => 'image/x-ms-bmp', 23 'jpg' => 'image/jpeg', 24 'jpeg' => 'image/jpeg', 25 'gif' => 'image/gif', 26 'png' => 'image/png', 27 'tif' => 'image/tiff', 28 'tiff' => 'image/tiff', 29 'tga' => 'image/x-targa', 30 'psd' => 'image/vnd.adobe.photoshop', 31 //文本 32 'txt' => 'text/plain', 33 'php' => 'text/x-php', 34 'html' => 'text/html', 35 'htm' => 'text/html', 36 'js' => 'text/javascript', 37 'css' => 'text/css', 38 'rtf' => 'text/rtf', 39 'rtfd' => 'text/rtfd', 40 'py' => 'text/x-python', 41 'java' => 'text/x-java-source', 42 'rb' => 'text/x-ruby', 43 'sh' => 'text/x-shellscript', 44 'pl' => 'text/x-perl', 45 'sql' => 'text/x-sql', 46 //应用 47 'exe' => 'application/octet-stream', 48 'doc' => 'application/vnd.ms-word', 49 'docx' => 'application/vnd.ms-word', 50 'xls' => 'application/vnd.ms-excel', 51 'ppt' => 'application/vnd.ms-powerpoint', 52 'pps' => 'application/vnd.ms-powerpoint', 53 'pdf' => 'application/pdf', 54 'xml' => 'application/xml', 55 //音频 56 'mp3' => 'audio/mpeg', 57 'mid' => 'audio/midi', 58 'ogg' => 'audio/ogg', 59 'mp4a' => 'audio/mp4', 60 'wav' => 'audio/wav', 61 'wma' => 'audio/x-ms-wma', 62 //视频 63 'avi' => 'video/x-msvideo', 64 'dv' => 'video/x-dv', 65 'mp4' => 'video/mp4', 66 'mpeg' => 'video/mpeg', 67 'mpg' => 'video/mpeg', 68 'mov' => 'video/quicktime', 69 'wm' => 'video/x-ms-wmv', 70 'flv' => 'video/x-flv', 71 'mkv' => 'video/x-matroska' 72 ); 73 } 74 /** 75 * 上传函数 76 * @param string : 表单元素的name 值 77 * @return [type] 78 */ 79 public function upload( $txtName = '' ) 80 { 81 $this->_file = $_FILES[$txtName]; 82 if( $this->_file['error'] == 0){ 83 $fileType = end( explode('.', $this->_file['name'] )); 84 $allowType = array(); 85 foreach( $this->_allowType as $item=>$value ){ 86 $allowType[] = $item; 87 } 88 if( !in_array($fileType, $allowType)){ 89 die('上传的文件格式不正确!'); 90 }else{ 91 if(move_uploaded_file($this->file['tmp_name'], ($this->path).$this->file['name'])) 92 { 93 echo "<script>alert('上传成功!')</script>"; 94 } 95 else 96 { 97 echo "<script>alert('上传失败!');</script>"; 98 } 99 } 100 101 }else{ 102 //没有正确上传 103 switch ($this->_file['error']){ 104 case 1: 105 die('文件大小超过系统限制。'); 106 break; 107 case 2: 108 die('文件大小超过预定义限制。'); 109 break; 110 case 3: 111 die('文件为完全上传。'); 112 break; 113 case 4: 114 die('未上传任何文件。'); 115 break; 116 default: 117 die('上传出错'); 118 break; 119 } 120 } 121 } 122 //end upload 123 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash