您的位置:首页 > 编程语言 > PHP开发

PHP实现文件上传功能及ThinkPHP上传扩展

2013-08-07 15:35 1186 查看
PHP实现文件上传功能
文件上传功能在web开发中是很常见的功能,aopli在实习的时候也越到这样的问题,但是之前都是用asp和jsp开发的,asp和jsp实现文件上传是比较麻烦的,但是在php中感觉比较简单。下面就简单的介绍下代码:

先说明,我实现的是上传xls文件,可以根据自己的需要来更改,首先就是在表单上添加enctype="multipart/form-data",我想这个问题,我应该不用再重复了,然后添加一个文件域,我这里命名为file,如下:<input name="file" type="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<br>");
    }
}
最后就是设置路径的时候一定要正确,如果出现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

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息