Heim >Backend-Entwicklung >PHP-Tutorial >Laden Sie mehrere Bilder in PHP hoch
Der
php-Editor Yuzai zeigt Ihnen, wie Sie mehrere Bilder in PHP hochladen. Bei der Website-Entwicklung ist es häufig erforderlich, die Funktion zum Stapel-Upload von Bildern zu implementieren. Um die Benutzererfahrung und Effizienz zu verbessern, ist das Hochladen mehrerer Bilder eine häufige Anforderung. PHP bietet eine Fülle von Funktionen und Technologien zur Implementierung dieser Funktion, einschließlich der Verwendung von Formularen, der Verarbeitung hochgeladener Dateien, der Verarbeitung mehrerer Dateien in einer Schleife usw. Mithilfe der Anleitung dieses Artikels erfahren Sie, wie Sie ganz einfach mehrere Bilder in PHP hochladen, um Ihrer Website interaktivere und kreativere Elemente hinzuzufügen.
Um dies zu ermöglichen, müssen wir die Formularaktion in unserer HTML-Datei oder unserem HTML-Abschnitt angeben, je nachdem, wie Sie Ihre Codebasis strukturieren, und dann eine integrierte Funktion verwenden, um diese Aktion zu verarbeiten.
In diesem Artikel lernen wir, wie man mehrere Bilder in PHP hochlädt. Dies gibt uns den Kontext, um die erforderlichen Dateien aus einer Formulareingabe anzugeben, alle vom Benutzer ausgewählten Dateien zu verarbeiten und an den gewünschten Speicherort hochzuladen oder zu verschieben. Erfahren Sie mehr über Formularvorgänge für das Hochladen mehrerer Dateien in PHP und
$_FILES
Wenn der Benutzer Eingaben in das HTML-Formular eingibt, verwenden wir die POST-Methode, um alle Eingaben (vom Text bis zur Datei) an die Seite zu senden, auf der sich unsere PHP-Anwendung befindet.
<fORM method='post' action='' enctype='multipart/form-data'>
Der
enctype='multipart/form-data'
Für den Datei-Upload müssen wir den Dateityp eingeben und den Namen (kann ein beliebiger Name Ihrer Wahl sein) für die Datei angeben.
<input type="file" name="file" id="file">
Für das Hochladen mehrerer Dateien benötigen wir weiterhin den Eingabetyp Datei, jetzt jedoch einen anderen angegebenen Namen file[]
und das hinzugefügte Attribut
. Das Hinzufügen von []
gibt an, dass das Eingabefeld mehrere Dateien verarbeiten kann. file[]
和添加的属性 multiple。 添加 []
<input type="file" name="files[]" multiple/>Auf der Serverseite ist die globale Variable
ein assoziatives $_FILES
Array, das Dateien enthält, die über die Http POST-Methode hochgeladen wurden, sodass wir die Dateien entsprechend verarbeiten können.
<?php $_FILES["files"]
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Multiple Image Upload</title> </head> <body> <form method="post" enctype="multipart/form-data" name="formUploadFile"> <label>Select image(s) to upload:</label> <input type="file" name="files[]" multiple="multiple" /> <input type="submit" value="Upload File" name="imgSubmit" /> </form> <?php if (isset($_POST["imgSubmit"])) { $Laden Sie mehrere Bilder in PHP hochs = []; $uploadedFiles = []; $extension = array("jpeg", "jpg", "png"); $UploadFolder = "images"; $counter = 0; foreach ($_FILES["files"]["tmp_name"] as $key => $tmp_name) { $temp = $_FILES["files"]["tmp_name"][$key]; $name = $_FILES["files"]["name"][$key]; if (empty($temp)) { break; } $counter++; $UploadOk = true; $ext = pathinfo($name, PATHINFO_EXTENSION); if (in_array($ext, $extension) == false) { $UploadOk = false; array_push($Laden Sie mehrere Bilder in PHP hochs, $name . " isn't an image."); } if ($UploadOk == true) { move_uploaded_file($temp, $UploadFolder . "/" . $name); array_push($uploadedFiles, $name); } } if ($counter > 0) { if (count($Laden Sie mehrere Bilder in PHP hochs) > 0) { echo "<b>Errors:</b>"; echo "<br/><ul>"; foreach ($Laden Sie mehrere Bilder in PHP hochs as $Laden Sie mehrere Bilder in PHP hoch) { echo "<li>" . $Laden Sie mehrere Bilder in PHP hoch . "</li>"; } echo "</ul><br/>"; } if (count($uploadedFiles) > 0) { echo "<b>Uploaded Files:</b>"; echo "<br/><ul>"; foreach ($uploadedFiles as $fileName) { echo "<li>" . $fileName . "</li>"; } echo "</ul><br/>"; echo count($uploadedFiles) . " iamge(s) are successfully uploaded."; } } else { echo "Please, Select image(s) to upload."; } } ?> </body> </html>Überprüfen Sie die
-Funktionseinstellungen, initialisieren Sie wichtige Variablen und legen Sie die für den Datei-Upload erforderliche Erweiterung fest. $_POST[]
变量是否使用 isset()
if (isset($_POST["imgSubmit"])) { $Laden Sie mehrere Bilder in PHP hochs = []; $uploadedFiles = []; $extension = array("jpeg", "jpg", "png"); $UploadFolder = "images";Danach durchlaufen wir die mehreren Bilder, die über die Variable
$_FILES[]
verarbeitet wurden, und verwenden dann pathinfo()
, um die Erweiterung zu überprüfen, und wenn sie wahr ist, verschieben wir das Bild Gehen Sie mit der Funktion move_uploaded_file()
zum angegebenen Ordner $UploadFolder$_FILES[]
变量处理过的多个图像,然后使用 pathinfo()
检查扩展名,如果为真,我们将图像移动到指定文件夹 $UploadFolder 使用 move_uploaded_file()
und übertragen Sie den Namen des Bildes auf die Variable $uploadedFiles.
foreach ($_FILES["files"]["tmp_name"] as $key => $tmp_name) { $temp = $_FILES["files"]["tmp_name"][$key]; $name = $_FILES["files"]["name"][$key]; if (empty($temp)) { break; } $counter++; $UploadOk = true; $ext = pathinfo($name, PATHINFO_EXTENSION); if (in_array($ext, $extension) == false) { $UploadOk = false; array_push($Laden Sie mehrere Bilder in PHP hochs, $name . " isn't an image."); } if ($UploadOk == true) { move_uploaded_file($temp, $UploadFolder . "/" . $name); array_push($uploadedFiles, $name); } }
Abschließend zeigen wir die vorhandenen Fehler und die hochgeladenen Dateien.
if ($counter > 0) { if (count($Laden Sie mehrere Bilder in PHP hochs) > 0) { echo "<b>Errors:</b>"; echo "<br/><ul>"; foreach ($Laden Sie mehrere Bilder in PHP hochs as $Laden Sie mehrere Bilder in PHP hoch) { echo "<li>" . $Laden Sie mehrere Bilder in PHP hoch . "</li>"; } echo "</ul><br/>"; } if (count($uploadedFiles) > 0) { echo "<b>Uploaded Files:</b>"; echo "<br/><ul>"; foreach ($uploadedFiles as $fileName) { echo "<li>" . $fileName . "</li>"; } echo "</ul><br/>"; echo count($uploadedFiles) . " image(s) are successfully uploaded."; } } else { echo "Please, Select image(s) to upload."; }
PHP-Datei, die dem Browser bereitgestellt wird.
Wählen Sie ein Bild aus und laden Sie das Bild hoch.
Anschließend wird die hochgeladene Datei angezeigt.
Hochgeladene Bilder:
Wenn es sich bei der von Ihnen ausgewählten Datei nicht um ein Bild handelt, wird eine Fehlermeldung angezeigt.
Das obige ist der detaillierte Inhalt vonLaden Sie mehrere Bilder in PHP hoch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!