废话不多说,直接上代码:
private $_path;
private $_allowType;
private $_file;
/**
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 "";
}
else
{
echo "";
}
}
}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实现常用文件上传类的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。