php实现常用文件上传类的示例
2018-09-07 14:00
废话不多说,直接上代码:
<?php /** * 上传文件类 * @param _path : 服务器文件存放路径 * @param _allowType : 允许上传的文件类型和所对应的MIME * @param _file : 上传的文件信息 */ class Upload{ private $_path; private $_allowType; private $_file; /** * 构造函数 * @param string : 服务器上存放上传文件的路径 */ function __construct( $path = ) { $this->_path = $path; $this->_allowType = array( // images bmp => image/x-ms-bmp, jpg => image/jpeg, jpeg => image/jpeg, gif => image/gif, png => image/png, tif => image/tiff, tiff => image/tiff, tga => image/x-targa, psd => image/vnd.adobe.photoshop, //文本 txt => text/plain, php => text/x-php, html => text/html, htm => text/html, js => text/javascript, css => text/css, rtf => text/rtf, rtfd => text/rtfd, py => text/x-python, java => text/x-java-source, rb => text/x-ruby, sh => text/x-shellscript, pl => text/x-perl, sql => text/x-sql, //应用 exe => application/octet-stream, doc => application/vnd.ms-word, docx => application/vnd.ms-word, xls => application/vnd.ms-excel, ppt => application/vnd.ms-powerpoint, pps => application/vnd.ms-powerpoint, pdf => application/pdf, xml => application/xml, //音频 mp3 => audio/mpeg, mid => audio/midi, ogg => audio/ogg, mp4a => audio/mp4, wav => audio/wav, wma => audio/x-ms-wma, //视频 avi => video/x-msvideo, dv => video/x-dv, mp4 => video/mp4, mpeg => video/mpeg, mpg => video/mpeg, mov => video/quicktime, wm => video/x-ms-wmv, flv => video/x-flv, mkv => video/x-matroska ); } /** * 上传函数 * @param string : 表单元素的name 值 * @return [type] */ public function upload( $txtName = ) { $this->_file = $_FILES[$txtName]; if( $this->_file[error] == 0){ $fileType = end( explode(., $this->_file[name] )); $allowType = array(); foreach( $this->_allowType as $item=>$value ){ $allowType[] = $item; } if( !in_array($fileType, $allowType)){ die(上传的文件格式不正确!); }else{ if(move_uploaded_file($this->file[tmp_name], ($this->path).$this->file[name])) { echo <script>alert(上传成功!)</script>; } else { echo <script>alert(上传失败!);</script>; } } }else{ //没有正确上传 switch ($this->file[error]){ case 1: die(文件大小超过系统限制。); break; case 2: die(文件大小超过预定义限制。); break; case 3: die(文件为完全上传。); break; case 4: die(未上传任何文件。); break; default: die(上传出错); break; } } } //end upload }
以上这篇php实现常用文件上传类的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
下一篇:在线短消息收发的程序,不用数据库