PHP实现常用文件上传
发布:smiling 来源: PHP粉丝网 添加日期:2018-06-04 11:19:52 浏览: 评论:0
在PHP的使用中,它有着非常方便的操作设计,这次文章就给大家介绍下怎么使用PHP实现常用文件上传,相信这也是大多数人会遇到的问题,下面我们具体看看上传方法。
- <?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',
- '<a href="http://www.phpfensi.com/cssdiv/css.html" class="anchor" target="_blank">css</a>' => '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' =&ggt; '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
- }
Tags: 常用 文件
相关文章
- ·php 常用文件操作学习笔记(2014-07-12)
- ·php读取文件的几个常用函数(2014-08-04)
- ·php常用文件操作函数汇总(2021-04-28)
- ·php 读取目录所有文件信息dir()(2013-11-12)
- ·php获取当前文件所有执行的函数和类(2013-11-12)
- ·php检查文件是否可读和可写(2013-11-14)
- ·PHP文件操作方法问答 (2013-11-14)
- ·PHP 文件操作概述 (2013-11-14)
- ·php文件操作和获取文件信息数据 (2013-11-14)
- ·PHP开发中文件操作疑难问答(2013-11-27)
- ·php判断文件是否存在file_exists 与 is_file详解(2013-11-29)
- ·PHP 获取文件扩展名的方法(2013-11-29)
- ·PHP中读写文件(2013-11-29)
- ·解决php中file_get_contents 读取大文件返回false问题(2013-12-08)
- ·解决file_get_contents遇到中文文件名无法打开问题(2013-12-08)
- ·PHP操作文件问答(2013-12-08)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)