这是上传成功时典型的$_FILES
数组:
array (
'field_name' => array (
'name' => 'photo.jpg',
'type' => 'image/jpeg',
'tmp_name' => '/tmp/xxx',
'error' => 0,
'size' => 12345
)
)
现在文档没有提到的是,当$_FILES
填充时,这些数组键究竟包含什么,但是 error
键不是0
(UPLOAD_ERR_OK
)
- 其他4个键(
name
,type
,tmp_name
,size
) 总是存在吗? - 如果是,如果出现错误,这些键的内容是什么?
-
size
是否包含0
、空字符串或NULL
? -
tmp_name
包含空字符串,还是NULL
? - 是
name
总是可用的,或者它可以是一个空字符串或NULL
? - 是
type
总是可用的,或者它可以是一个空字符串或NULL
?
-
根据最简单的错误情况判断,UPLOAD_ERR_NO_FILE
(没有选择文件):
array (
'field_name' => array (
'name' => '',
'type' => '',
'tmp_name' => '',
'error' => 4,
'size' => 0
)
)
我将推断以下假设:
- 所有5个数组键始终存在;
-
name
,type
和tmp_name
总是string
s,错误时可以为空; -
size
将始终是一个整数,错误时可能是0
。