Heim  >  Artikel  >  Backend-Entwicklung  >  Laden Sie mehrere Bilder in PHP hoch

Laden Sie mehrere Bilder in PHP hoch

WBOY
WBOYnach vorne
2024-02-29 18:00:26831Durchsuche

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

Server

Seite zu senden, auf der sich unsere PHP-Anwendung befindet.

<fORM method=&#39;post&#39; action=&#39;&#39; enctype=&#39;multipart/form-data&#39;>
Der

-Teil gibt die Kodierungsmethode der Formulardaten an, die erforderlich ist, wenn wir den Datei-Upload im Formular verwenden.

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

multiple

. 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 $_FILESArray, das Dateien enthält, die über die Http POST-Methode hochgeladen wurden, sodass wir die Dateien entsprechend verarbeiten können.

<?php

$_FILES["files"]


Laden Sie mehrere Bilder in PHP mit move_uploaded_file() hoch

Nachdem wir nun die Grundlagen verstanden haben, müssen wir mehrere Dateien hochladen. Lassen Sie uns ein PHP-Formular erstellen, um mehrere Bilder hochzuladen.

<!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&#39;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&#39;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.

在 PHP 中上传多个图像

Wählen Sie ein Bild aus und laden Sie das Bild hoch.

在 PHP 中上传多个图像

Anschließend wird die hochgeladene Datei angezeigt.

Laden Sie mehrere Bilder in PHP hoch

Hochgeladene Bilder:

Laden Sie mehrere Bilder in PHP hoch

Wenn es sich bei der von Ihnen ausgewählten Datei nicht um ein Bild handelt, wird eine Fehlermeldung angezeigt.

Laden Sie mehrere Bilder in PHP hoch

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen