您当前的位置:首页 > 网站建设笔记 >

编写处理文件的PHP

0

编写捕获上载文件的PHP代码是相当直观和简单的。

当文件被上传时,该文件将保存在临时目录中,这是通过php.ini文件的upload_tmp_dir指令设置的。如果没有设置该指令,在默认情况下,该目录是Web服务器上的主临时目录。如果在脚本执行完成之前不移动、复制或更改文件名称,该文件将被删除。

在PHP脚本中,需要处理的数据保存在超级全局数组$_FILES中。如果开启了register_globals指令,也可以直接通过变量名称访问这些信息。但是,这可能就是关闭register_globals指令的原因,或者至少认为是关闭了该指令,并且使用超级全局数组而忽略全局变量。

保存$_FILES数组中的元素时,将同时保存HTML表单的标记名称。表单元素名称如果是userfile,那么该数组将具有如下所示的内容:

1.存储在$_FILES['userfile']['tmp_name']变量中的值就是文件在Web服务器中临时存储的位置。
2.存储在$_FILES['userfile']['name']变量中的值就是用户系统中的文件名称。
3.存储在$_FILES['userfile']['size']变量中的值就是文件的字节大小。
4.存储在$_FILES['userfile']['type']变量中的值就是文件的MIME类型,例如:text/plain或image/gif。
5.存储在$_FILES['userfile']['error']变量中的值就是任何与文件上传相关的错误代码。这是在PHP4.2.0中增加的新特性。

在$_FILES['userfile']['error']中返回的每一个错误代码都有一个相关的错误常量,这些可能的常量和错误代码如下所示:
UPLOAD_ERROR_OK,值为0,表示没有发生任何错误。
UPLOAD_ERR_INI_SIZE,值为1,表示上传文件的大小超出了约定值。文件大小的最大值是在PHP配置文件中指定的,该指令是upload_max_filesize。
UPLOAD_ERR_FORM_SIZE,值为2,表示上传文件大小超出了HTML表单的MAX_FILE_SIZE元素所指定的最大值。
UPLOAD_ERR_PARTIAL,值为3,表示文件只被部分上传。
UPLOAD_ERR_NO_FILE,值为4,表示没有上传任何文件。
UPLOAD_NO_TMP_DIR,值为6,表示在php.ini文件中没有指定临时目录(在PHP5.0.3版本引入)。
UPLOAD_ERR_CANT_WRITE,值为7,表示将文件写入磁盘失败(在PHP5.1.0版本引入)。

顶部中部底部