推荐答案
$_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()函数将临时文件移动到目标位置,以确保文件的安全性。