使用Zend框架实现PHP文件上传(1)

2013 年 11 月 10 日5250

Zend Framework是流行的PHP开发框架,使用Zend框架,能够方便快捷的实现各项常用功能。这里向你介绍使用Zend框架来创建文件上传功能,该机制能够轻而易举地接收、确认和处理要上传的文件。

一、简介

无论是管理YouTube上的视频、在SlideShare上共享PowerPoint演示文稿,还是使用开源电子商务平台Magento更新在线商店中的商品图像,我们都有用到基于web的文件上传功能。但是,这个功能到底是如何工作的呢?文件是如何从本地机器传送到远程服务器的?本文将向读者详细介绍如何使用流行的Zend框架来创建我们自己的PHP文件上传机制,该机制能够轻而易举地接收、确认和处理要上传的文件。

二、配置处理文件上载的PHP

PHP本身能够通过Web表单来完成文件上载,不过无论使用标准PHP代码还是使用Zend框架来管理文件上传,都有必要花一些时间来检测直接影响PHP的有关功能的配置伪指令,这些指令包括:

◆file_uploads:这个伪指令启用PHP的文件上载功能。在默认情形下,这个伪指令会被启用。
◆upload_max_filesize:这个伪指令定义了要上载的文件的最大尺寸。在默认情形下,这个伪指令被设置为2M。
◆upload_tmp_dir:这个伪指令定义了PHP临时存储要上传的文件的目录,文件在传入最终目的地之前将临时存放于此,该目录是由开发人员指定的。在默认情形下,这个伪指令不会赋值,这意味着PHP将使用系统的默认值,举例来说,许多linux发行版中的临时目录为/tmp。
◆post_max_size:设定POST 数据所允许的最大大小。php默认的post_max_size 为2M。
◆max_execution_time:虽然与文件上载的关系不是非常密切,但是这个伪指令在PHP的文件上载功能中却扮演了一个重要角色,因为它定义了PHP脚本的执行时间。对于尺寸特别大的文件来说,可能需要很长的时间才能传输到文件服务器,所以可以考虑将这个伪指令的默认值即30秒改为60乃至90秒。

三、创建文件上载表单

下面我们将创建一个Web表单示例,它能够用来浏览本地计算机的文件系统以及确定要上传的文件。我们将尽力使该示例保持简单,创建的文件上载表单的外观如图1所示。

0 0