废话不多说,直接上代码:
<?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实现常用文件上传类的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持网页设计。