PHP实现文件上传功能及ThinkPHP上传扩展
PHP实现文件上传功能 文件上传功能在web开发中是很常见的功能,aopli在实习的时候也越到这样的问题,但是之前都是用asp和jsp开发的,asp和jsp实现文件上传是比较麻烦的,但是在php中感觉比较简单。下面就简单的介绍下代码: 先说明,我实现的是上传xls文件,
PHP实现文件上传功能
文件上传功能在web开发中是很常见的功能,aopli在实习的时候也越到这样的问题,但是之前都是用asp和jsp开发的,asp和jsp实现文件上传是比较麻烦的,但是在php中感觉比较简单。下面就简单的介绍下代码:
先说明,我实现的是上传xls文件,可以根据自己的需要来更改,首先就是在表单上添加enctype="multipart/form-data",我想这个问题,我应该不用再重复了,然后添加一个文件域,我这里命名为file,如下:,然后就是提交到处理的页面,下面是处理的代码:
需要说名的是:
获得的参数:
? $_FILES["file"]["name"]- 被上传文件的名称
? $_FILES["file"]["type"]- 被上传文件的类型
? $_FILES["file"]["size"]- 被上传文件的大小,以字节计
? $_FILES["file"]["tmp_name"]- 存储在服务器的文件的临时副本的名称
? $_FILES["file"]["error"]- 由文件上传导致的错误代码
这是所有的参数,可以根据自己的要求来更改,比如需要上传doc文件,就把type改下,第一个参数file是文件域的名字。
if (! empty ( $_FILES ['file']['name']))
{
$tmp_file = $_FILES ['file'] ['tmp_name'];
$file_types = explode(".",$_FILES ['file'] ['name'] );
$file_type = $file_types[count($file_types)-1];
if (strtolower( $file_type ) !="xls")
{
echo("不是Excel文件,重新上传");
}
$savePath = 'public/upload/excel/';
$str = date ( 'Ymdhis' );
$file_name = $str . "." .$file_type;
if (! copy ($tmp_file,$savePath.$file_name))
{
echo("failed");
}
else
{
echo($savePath . $file_name);
echo("success
");
}
}
最后就是设置路径的时候一定要正确,如果出现success,多检查下服务器的目录,应该是上传成功了,但不一定是你想要上传的目录。
以下为技术的扩展,我想很多商业性的项目中,都会应用到PHP框架,以下是我搜集成的一些扩展;希望能帮到你…
更多参考:
1.PHP实现文件上传
1.1.http://www.w3school.com.cn/php/php_file_upload.asp
技术扩展:
2.ThinkPHP实现文件上传
2.1.ThinkPHP官方手册:http://doc.thinkphp.cn/manual/upload.html
2.2. ThinkPHP文件上传:http://www.oschina.net/code/snippet_783422_18835
2.3.ThinkPHP文件上传:http://blog.thinkwap.com/1159
2.4.百度空间-ThinkPHP上传类的使用方法二:
http://hi.baidu.com/rx1987/item/15ab4e1d15f5ed633f87ce9f
2.5. ThinkPHP之文件上传类UploadFile.class.php 的使用方法:
http://digdeeply.org/archives/03261917.html
2.6. ThinkPHP3.1实现文件上传(支持多文件上传):
http://www.111cn.net/phper/thinkPhp/46362.htm