Datei-Upload und Multi-File-Upload in PHP sind für PHP-Anfänger, die gerade erst anfangen, ein Albtraum. Dieser Artikel gibt Ihnen eine detaillierte Analyse von PHP Code- und Problemlösungen zur Implementierung des Hochladens einzelner Dateien und mehrerer Dateien. Wenn Sie nichts über das Hochladen von PHP-Dateien wissen, seien Sie bitte optimistisch! !
Wann ist $_FILES ein leeres Array?
Wenn der Enctype der Formularübermittlung nicht gleich multipart/form-data ist, wird in der php.iniKonfigurationsdatei file_uploads = Off und die hochgeladene Dateigröße> angegeben die php.ini-Konfigurationsdatei. Wenn die maximale Upload-Größe konfiguriert ist
Solange $_FILES ein leeres Array ist, kann das oben genannte Problem auftreten und muss behoben werden!
Wenn Sie sofort auf die Schaltfläche „Hochladen“ klicken, ohne eine Datei auszuwählen, ist $_FILES ein Array mit Elementen und jedes Attribut im Element ist leer. String, Fehlerattribut Für 4
Einzeldatei-Upload
$_FILES-Datenstruktur
array( 'filename' => array( 'name' => 'xxx.png', 'type' => 'image/png', 'size' => 2548863, 'tmp_name' => '/img/sdsdsd.png', 'error' => 0 ) )
Ob 单文件
oder 多文件上传
, es wird 5 feste Attribute geben: Name / Größe / Typ / tmp_name / Fehler
Mehrere Datei-Upload
Im Vergleich zum Einzeldatei-Upload , Die Verarbeitung mehrerer Dateien ist viel komplizierter. Die beiden Formen des Multidatei-Uploads 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>
im Backend $_FILES
haben unterschiedliche entsprechende Datenstrukturen
//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
Feldfehler Zweck
Wert: 1 Die hochgeladene Datei überschreitet den durch die Option upload_max_filesize in php.ini begrenzten Wert.
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.
Das Obige ist der gesamte Inhalt von PHP-Datei-Upload, ich hoffe, es wird für alle hilfreich sein! !
Verwandte Empfehlungen:
Perfekte Lösung für PHPs Unfähigkeit, große Dateien hochzuladen
Beispielanalyse für PHP-Einzeldatei- und Mehrfachdatei-Upload
Ein PHP-Datei-Upload-Klassen-Sharing_php-Beispiel
Das obige ist der detaillierte Inhalt vonPHP-Beispiele für den Upload einzelner Dateien und mehrerer Dateien_php-Beispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!