使用Zend框架实现PHP文件上传(1)_PHP教程
一、简介
无论是管理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所示。
推荐阅读
-
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
-
使用PHP和HTML5 FormData实现无刷新文件上传教程
-
php+jQuery.uploadify实现文件上传教程
-
PHP使用curl请求实现post方式上传图片文件功能示例
-
php 使用html5 XHR2实现上传文件与进度显示功能示例
-
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
-
PHP中使用Session配合Javascript实现文件上传进度条功能
-
php实现SAE上使用storage上传与下载文件的方法
-
PHP中使用 TUS 协议来实现可恢复大文件上传
-
使用PHP遍历文件目录与清除目录中文件的实现详解_PHP教程