Heim >Backend-Entwicklung >PHP-Tutorial >Beispiele für PHP-Uploads einzelner Dateien und mehrerer Dateien erklärt
Dieser Artikel enthält eine detaillierte Analyse des Codes und der Problemlösungen für das Hochladen einzelner Dateien und mehrerer Dateien in PHP. Bitte lesen Sie ihn gemeinsam durch.
Wann ist $_FILES ein leeres Array?
Wenn der Enctype der Formularübermittlung nicht mit multipart/form-data in der php.ini-Konfigurationsdatei übereinstimmt, ist file_uploads = Aus und die Größe der hochgeladenen Datei > die in der php.ini konfigurierte maximale Upload-Größe Konfigurationsdatei
Solange $_FILES ein leeres Array ist, können die oben genannten Probleme auftreten und müssen behoben werden!
Wenn Sie sofort auf die Schaltfläche „Hochladen“ klicken, ohne eine Datei auszuwählen, ist $_FILES ein Array mit Elementen. Jedes Attribut im Element ist eine leere Zeichenfolge und das Fehlerattribut ist 4
Einzeldatei-Upload
$_FILES-Datenstruktur
array( 'filename' => array( 'name' => 'xxx.png', 'type' => 'image/png', 'size' => 2548863, 'tmp_name' => '/img/sdsdsd.png', 'error' => 0 ) )
Ob es ist单文件
Oder 多文件上传
, es gibt 5 feste Attribute: Name / Größe / Typ / tmp_name / Fehler
Mehrere Datei-Uploads
Phase Im Vergleich zum Hochladen einzelner Dateien ist die Verarbeitung mehrerer Dateien viel komplizierter. Die beiden Formen des Hochladens mehrerer Dateien im Frontend
//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>
Die entsprechende Datenstruktur des Backends $_FILES
ist unterschiedlich
//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
Feld Fehlerzweck
Wert: 1 Die hochgeladene Datei überschreitet die Größe von php.ini. Der Wert der Option „upload_max_filesize“ ist begrenzt.
Wert: 2 Die Größe der hochgeladenen Datei überschreitet den durch die Option MAX_FILE_SIZE im HTML-Formular angegebenen Wert.
Wert: 3 Die Datei wurde nur teilweise hochgeladen.
Wert: 4 Es wurden keine Dateien hochgeladen. Wert: 5 Die hochgeladene Dateigröße beträgt 0.
Prinzipielle Analyse der PHP-Multiplayer-Modulentwicklung
Erklärung der Verwendung von XHProf zum Auffinden von PHP-Leistungsengpässen
Zugehörige Zusammenfassung der benutzerdefinierten Vorlagendirektiven im Laravel-Framework
Das obige ist der detaillierte Inhalt vonBeispiele für PHP-Uploads einzelner Dateien und mehrerer Dateien erklärt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!