PHP single file and multi file upload instances
- 2021-08-28 19:40:03
- OfStack
When is $_ FILES an empty array?
In the php. ini configuration file when form submission enctype is not equal to multipart/form-data, file_uploads = file size uploaded by Off > Maximum upload size configured in php. ini configuration file
As long as $_FILES is an empty array, the above problems may occur and must be fixed!
If you click "Upload" immediately without selecting any file, $_FILES will be an array with elements, each attribute in the element is an empty string, and the error attribute is 4
Single file upload
$_ FILES data structure
array(
'filename' => array(
'name' => 'xxx.png',
'type' => 'image/png',
'size' => 2548863,
'tmp_name' => '/img/sdsdsd.png',
'error' => 0
)
)
Whether it's
单文件
Or
多文件上传
Will have 5 fixed attributes: name/size/type/tmp_name/error
Multiple file upload
Compared with single file upload, multi-file upload is much more complicated to handle than the two front-end multi-file upload forms
//name Same
<form method="post" enctype="multipart/form-data">
<input type="file" name="wt[]"/>
<input type="file" name="wt[]"/>
<input type="submit" value=" Submit "/>
</form>
//name Different (simpler)
<form method="post" enctype="multipart/form-data">
<input type="file" name="wt"/>
<input type="file" name="mmt"/>
<input type="submit" value=" Submit "/>
</form>
Back-end
$_FILES
The corresponding data structure is different
//name Same
array (size=1)
'wt' =>
array (size=5)
'name' =>
array (size=2)
0 => string ' New Text Document (2).txt' (length=26)
1 => string ' New Text Document .txt' (length=22)
'type' =>
array (size=2)
0 => string 'text/plain' (length=10)
1 => string 'text/plain' (length=10)
'tmp_name' =>
array (size=2)
0 => string 'C:\Windows\php1D64.tmp' (length=22)
1 => string 'C:\Windows\php1D65.tmp' (length=22)
'error' =>
array (size=2)
0 => int 0
1 => int 0
'size' =>
array (size=2)
0 => int 0
1 => int 1820
//name Different (simpler)
array (size=2)
'wt' =>
array (size=5)
'name' => string ' New Text Document (2).txt' (length=26)
'type' => string 'text/plain' (length=10)
'tmp_name' => string 'C:\Windows\php39C7.tmp' (length=22)
'error' => int 0
'size' => int 0
'mmt' =>
array (size=5)
'name' => string ' New Text Document .txt' (length=22)
'type' => string 'text/plain' (length=10)
'tmp_name' => string 'C:\Windows\php39D8.tmp' (length=22)
'error' => int 0
'size' => int 1820
Field Error Purpose
Value: 1 The uploaded file exceeds the limit of the upload_max_filesize option in php. ini.
Value: 2 The size of the uploaded file exceeds the value specified by the MAX_FILE_SIZE option in the HTML form.
Value: 3 Only part of the file is uploaded.
Value: 4 No files were uploaded. Value: 5 Upload file size is 0.