In diesem Abschnitt wird hauptsächlich die Multidatei-Upload-Funktion von PHP-Upload-Dateien vorgestellt. Solange das Datei-Upload-Tag im Formular in Form eines Arrays benannt ist, können mehrere Dateien gleichzeitig hochgeladen werden.
Sehen wir uns ein Beispiel an:
------------------------------------------------ - ---------------------------------
<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="104857600" /> <table> <tr> <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td> </tr> <tr> <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td> </tr> <tr> <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td> </tr> <tr> <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td> </tr> <tr> <td><input type="submit" name="submit" value="上传"/></td> </tr> </table> </form> <?php function upload($file_error, $file_tmp_name, $file_name){ $info = ""; if($file_name == "") return $info; switch($file_error){ case UPLOAD_ERR_INI_SIZE: $info = $file_name. ": 文件大小超过了服务器的限制"; break; case UPLOAD_ERR_FORM_SIZE: $info = $file_name. ": 文件大小超过了浏览器的限制"; break; case UPLOAD_ERR_PARTIAL: $info = $file_name. ": 只上传了部分文件"; break; case UPLOAD_ERR_NO_FILE: $info = $file_name. ": 没有文件被上传"; break; case UPLOAD_ERR_NO_TMP_DIR: $info = $file_name. ": 找不到临时文件夹"; break; case UPLOAD_ERR_CANT_WRITE: $info = $file_name. ": 文件写入失败"; break; case UPLOAD_ERR_OK: $upload_dir = './'.iconv("UTF-8","gb2312",$file_name); if(file_exists($upload_dir)){ $info = $file_name.": 同名文件已经存在"; }else{ if(move_uploaded_file($file_tmp_name,$upload_dir)){ $info = $file_name.": 文件上传成功"; }else{ $info = $file_name.": 文件上传失败"; } } break; } return $info; } if(isset($_POST['submit'])){ $info = ''; $count = count($_FILES['upload_file']['name']); for($i=0; $i<$count; ++$i){ if($_FILES['upload_file']['name'][$i] == "") continue; $info = upload( $_FILES['upload_file']['error'][$i], $_FILES['upload_file']['tmp_name'][$i], $_FILES['upload_file']['name'][$i] ); } echo $info; } ?>
----- -- ------------------------------------------------ -- --------------------------------
Die Ergebnisse der Codeausführung lauten wie folgt:
Hinweis:
1. In muss name="upload_file[]" benannt werden in Form eines Arrays. Andernfalls tritt ein Fehler auf: „Offset der nicht initialisierten Zeichenfolge: 0“. Dieser Satz bedeutet, dass Ihr Array-Schlüsselwert außerhalb der Grenzen liegt
2. 'name'][$i ], upload_file ist der Name der Upload-Dateimarkierung im Formular. Beim Hochladen mehrerer Dateien wird der dreidimensionale Index des Arrays $_FILES automatisch fortlaufend nummeriert, beginnend mit 0.
Verwandte Empfehlungen:
PHP-Datei-Upload-Funktion zur Implementierung der Codefreigabe
Konfigurieren Sie php.ini zur Implementierung des PHP-Datei-Uploads Funktion
So konfigurieren Sie php.ini, um die Funktion zum Hochladen von PHP-Dateien zu implementieren
Das obige ist der detaillierte Inhalt vonFunktion zum Hochladen von PHP-Dateien – Hochladen mehrerer Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!