>php教程 >php手册 >PHP实现文件上传功能及ThinkPHP上传扩展

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

WBOY
WBOY원래의
2016-06-06 19:46:201041검색

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

 

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.