推荐答案
$_FILES['file']['name'] // 上传文件的原始名称 $_FILES['file']['type'] // 上传文件的 MIME 类型 $_FILES['file']['tmp_name'] // 上传文件在服务器上的临时文件名 $_FILES['file']['error'] // 上传文件时产生的错误代码 $_FILES['file']['size'] // 上传文件的大小,单位为字节
本题详细解读
1. $_FILES
数组的结构
$_FILES
是一个全局数组,用于存储通过 HTTP POST 方法上传的文件信息。它是一个二维数组,其中每个上传的文件都会有一个对应的键值对。
2. $_FILES
数组的键值
name
: 上传文件的原始名称,即客户端文件系统中的文件名。type
: 上传文件的 MIME 类型,例如image/jpeg
或text/plain
。tmp_name
: 上传文件在服务器上的临时文件名。文件上传后,PHP 会将其存储在临时目录中,直到你将其移动到其他位置。error
: 上传文件时产生的错误代码。常见的错误代码包括:UPLOAD_ERR_OK
(0): 没有错误,文件上传成功。UPLOAD_ERR_INI_SIZE
(1): 上传的文件超过了php.ini
中upload_max_filesize
指令限制的大小。UPLOAD_ERR_FORM_SIZE
(2): 上传的文件超过了 HTML 表单中MAX_FILE_SIZE
选项指定的值。UPLOAD_ERR_PARTIAL
(3): 文件只有部分被上传。UPLOAD_ERR_NO_FILE
(4): 没有文件被上传。UPLOAD_ERR_NO_TMP_DIR
(6): 找不到临时文件夹。UPLOAD_ERR_CANT_WRITE
(7): 文件写入失败。UPLOAD_ERR_EXTENSION
(8): 一个 PHP 扩展停止了文件上传。
size
: 上传文件的大小,单位为字节。
3. 示例
假设有一个文件上传表单字段名为 userfile
,上传了一个名为 example.jpg
的文件,那么 $_FILES
数组可能如下所示:
$_FILES['userfile']['name'] // 'example.jpg' $_FILES['userfile']['type'] // 'image/jpeg' $_FILES['userfile']['tmp_name'] // '/tmp/php1234.tmp' $_FILES['userfile']['error'] // 0 $_FILES['userfile']['size'] // 123456
4. 注意事项
- 在处理上传文件时,务必检查
$_FILES['file']['error']
的值,以确保文件上传成功。 - 使用
move_uploaded_file()
函数将临时文件移动到目标位置,以确保文件的安全性。