<?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
}

最新文章

  1. 如何用Web技术开发Windows Form应用
  2. DXGI 1.4的新特性
  3. MVC架构学习之Smarty学习——病来而蔫
  4. Linux:cacti环境部署
  5. IO操作概念。同步、异步、阻塞、非阻塞
  6. js中substring与substr的学习。
  7. Spring 下载与安装以及spring 3.2.9 jar包详解
  8. MySQL 5.7.9多源复制报错修复
  9. windows快捷操作
  10. BZOJ2055: 80人环游世界
  11. 详述.NET里class和struct的异同
  12. 笔记本CPU低压和标压有什么区别?
  13. Python常用字符编码(转)
  14. python完整课程
  15. ubuntu linux下建立stm32开发环境: 程序烧录 openocd+openjtag
  16. Devart.Data.Oracle.OracleException: ORA-01480: STR 绑定值的结尾 Null 字符缺失,entity framework
  17. Notepad++ 的资源管理器 右键菜单
  18. 8: springMVC ModelAndView 作用与功能解析
  19. The method getServletContext() is undefined for the type HttpServletRequest
  20. Ceph 分布式存储

热门文章

  1. springboot读取properties和yml配置文件
  2. Codesmith怎么判断sqlserver数据库字段是不是标识自增字段
  3. VDD,VCC,VSS,VEE,VDDA,VSSA,
  4. 运行第一个Python程序
  5. MySQL与SQL语句的操作
  6. zookeeper日志级别
  7. 开源播放器 ijkplayer (四) :Ijkplayer切换网络时停止播放的问题处理
  8. 兼容多数浏览器的js添加收藏夹脚本
  9. python实现stack并测试
  10. Servlet-获取页面的元素的值的方式以及区别