当前位置:  首页>> 技术小册>> PHP8入门与项目实战(5)

在网络上,用户可以上传自己的文件。实现这种功能的方法很多,用户把一个文件上传到服务器,需要在客户端和服务器端建立一个通道来传递文件的字节流,并在服务器进行上传操作。下面介绍一种使用代码最少,并且容易理解的方法。

11.3.1 全局变量$_FILES

通过使用PHP的全局变量$_FILES,用户可以从客户计算机向远程服务器上传文件。全局变量$_FILES是一个二维数组,用于接收上传文件的信息,它会保存表单中type值为file的提交信息,有5个主要列,具体含义如下:

(1)$_FILES[“file”][“name”]:存放上传文件的名称。

(2)$_FILES[“file”][“type”]:存放上传文件的类型。

(3)$_FILES[“file”][“size”]:存放上传文件的大小,以字节为单位。

(4)$_FILES[“file”][“tmp_name”]:存放存储在服务器的文件的临时全路径。

(5)$_FILES[“file”][“error”]:存放文件上传导致的错误代码。

在$_FILES[“file”][“tmp_name”]中,/tmp目录是默认的上传临时文件的存放地点,此时用户必须将文件从临时目录中删除或移到其他位置,如果没有,则上传的文件会自动被删除。可见,无论上传是否成功,程序最后都会自动删除临时目录中的文件。所以在删除前,需要将上传的文件复制到其他位置,这样才算真正完成了上传文件的过程。

另外,$_FILES[“file”][“error”]中返回的错误代码的常量对应的数值的含义如下:

(1)UPLOAD_ERR_OK=0:表示没有发生任何错误。

(2)UPLOAD_ERR_INI_SIZE=1:表示上传文件的大小超过了约定值。

(3)UPLOAD_ERR_FORM_SIZE =2:表示上传文件的大小超过了HTML表单隐藏域属性的MAX_FILE_SIZE元素所规定的最大值。

(4)UPLOAD_ERR_PARTIAL =3:表示文件只被部分上传。

(5)UPLOAD_ERR_NO_FILE =4:表示没有上传任何文件。


该分类下的相关小册推荐: