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

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

WBOY
WBOYOriginal
2016-06-06 19:46:201014Durchsuche

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

 

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn