php实现常用文件上传类的示例

前端之家收集整理的这篇文章主要介绍了php实现常用文件上传类的示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

废话不多说,直接上代码

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 "";
    }
    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实现常用文件上传类的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

猜你在找的PHP相关文章