This article gives you a detailed analysis of the code and problem solutions for single file upload and multi-file upload in PHP. Let’s learn and refer to it together.
$_FILES When is an empty array?
When the form submission enctype is not equal to multipart/form-data in the php.ini configuration file, file_uploads = Off and the uploaded file size > the maximum upload size configured in the php.ini configuration file
As long as $_FILES is an empty array, the above problems may occur and must be fixed!
If you click the "Upload Button" 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 structurearray( 'filename' => array( 'name' => 'xxx.png', 'type' => 'image/png', 'size' => 2548863, 'tmp_name' => '/img/sdsdsd.png', 'error' => 0 ) )
Single file or
Multiple file upload, there will be 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 process. The two forms of multi-file upload on the front end//name相同 <form method="post" enctype="multipart/form-data"> <input type="file" name="wt[]"/> <input type="file" name="wt[]"/> <input type="submit" value="提交"/> </form> //name不同(简单点) <form method="post" enctype="multipart/form-data"> <input type="file" name="wt"/> <input type="file" name="mmt"/> <input type="submit" value="提交"/> </form>
$_FILES corresponds to different data structures
//name相同 array (size=1) 'wt' => array (size=5) 'name' => array (size=2) 0 => string '新建文本文档 (2).txt' (length=26) 1 => string '新建文本文档.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不同(简单点) array (size=2) 'wt' => array (size=5) 'name' => string '新建文本文档 (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 '新建文本文档.txt' (length=22) 'type' => string 'text/plain' (length=10) 'tmp_name' => string 'C:\Windows\php39D8.tmp' (length=22) 'error' => int 0 'size' => int 1820
Principle analysis of PHP multiplayer module development
Explanation of using XHProf to find PHP performance bottlenecks
Related summary of custom template directives in the Laravel framework
The above is the detailed content of PHP single file and multiple file upload examples explained. For more information, please follow other related articles on the PHP Chinese website!