Heim > Artikel > Backend-Entwicklung > Eine einfache Möglichkeit, Bilder in PHP hochzuladen
So laden Sie Bilder in PHP hoch: Erstellen Sie zuerst einen Ordner zum Speichern der Bilder. Erstellen Sie dann eine PHP-Datei und geben Sie schließlich den Code „“ ein.
Empfohlen: „PHP-Video-Tutorial“
Bild-Upload-Vorgang in PHP
Bei der Front-End-Programmierung ist es manchmal notwendig, den Zuschauern das Hochladen eines bestimmten Bildes zu ermöglichen durch PHP erreichen.
1. Erstellen Sie einen Ordner zum Speichern von Bildern.
Hier erstellen wir den Ordner „Datei“, um die vom Benutzer hochgeladenen Bilder zu speichern. Sie können die Ordnererstellungsadresse auswählen, dies ist jedoch der Fall Am besten erstellen Sie es an einem geeigneten Ort.
2. Erstellen Sie den HTML-Teil (uploadfile.html)
Hier verwenden wir das Form-Tag von HTML und der
<input type="file">来选择图片文件 <input type="submit">来提交图片相关信息
Code im Formular lautet wie folgt:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <form action="uploadHandler.php" method="post" enctype="multipart/form-data"> Upload Img:<input type="file" name="img"/> <input type="submit" value="Upload"/> </form> </body> </html>
Hinweis:
1. Die Aktion in Das Formular ist mit verbunden. Anschließend erstellen Sie eine .php-Datei, die das Hochladen von Bildern verarbeitet.
2. Enctype="multipart/form-data" muss im Formularattribut vermerkt werden. Das enctype-Attribut gibt an, wie Formulardaten codiert werden, bevor sie an den Server gesendet werden. multipart/form-data kodiert keine Zeichen. Dieser Wert ist erforderlich, wenn ein Formular mit einer Datei-Upload-Steuerung verwendet wird.
3. Hier verwenden wir die Post-Methode.
3. Erstellen Sie den PHP-Teil (uploadHandler.php)
Wir erstellen eine PHP-Datei, in die wir nur
<?php var_dump($_FILES); ?> 那么我们会打印到一个相应的数组arr(1)。 arr(1)的数组结构为: array(1) { ["img"]=> array(5) { ["name"]=> string(**) "AAAAAAA.jpg" // 图片名 ["type"]=> string(10) "image/jpeg" // 图片格式 ["tmp_name"]=> string(45) "/Applications/XAMPP/xamppfiles/temp/phpVZQY0m" // 图片缓存地址 ["error"]=> int(0) // 上传图片错误数 ["size"]=> int(124246) // 图片大小 } }
eingeben. Unter dem Array-Array befindet sich ein Element [„img“] ["img"] Unten ist ein zweidimensionales Array. Dieses zweidimensionale Array besteht aus fünf Elementen, nämlich: Name / Typ / tmp_name / Fehler / Größe.
Durch diese Attribute erhalten wir die Grundinformationen eines Bildes. Der nächste Schritt besteht darin, das Bild in einem Ordner zu speichern, indem wir diese Grundattribute beurteilen.
2. Tatsächlicher Betrieb
Treffen Sie folgendes Urteil:
error [有]:提示错误❌ error [无]:下一步✅ ╙type[非 img]:提示错误❌ ╙type[img]:下一步✅ ╙type[非 jpeg]:提示错误❌ ╙type[jpeg]:下一步✅
Wenn das obige Urteil zutrifft, denken wir, dass dieses Bild gerettet werden kann.
Um doppelte Bildnamen zu vermeiden, verwenden wir das Konzept der Zeitstempel, um sie in einen neuen Dateinamen zusammenzufügen, sodass der Name jedes Bildes eindeutig ist.
Und wir können ein Array erstellen, die Elemente im Array sind verschiedene Bildformate, vergleichen das Bildformat der Datei mit den Elementen im Array, Bildformate, die von uns nicht erkannt werden, werden nicht gespeichert.
Der Code lautet wie folgt:
<?php // 接收文件 var_dump($_FILES); // 区别于$_POST、$_GET print_r($_FILES); $file = $_FILES["img"]; // 先判断有没有错 if ($file["error"] == 0) { // 成功 // 判断传输的文件是否是图片,类型是否合适 // 获取传输的文件类型 $typeArr = explode("/", $file["type"]); if($typeArr[0]== "image"){ // 如果是图片类型 $imgType = array("png","jpg","jpeg"); if(in_array($typeArr[1], $imgType)){ // 图片格式是数组中的一个 // 类型检查无误,保存到文件夹内 // 给图片定一个新名字 (使用时间戳,防止重复) $imgname = "file/".time().".".$typeArr[1]; // 将上传的文件写入到文件夹中 // 参数1: 图片在服务器缓存的地址 // 参数2: 图片的目的地址(最终保存的位置) // 最终会有一个布尔返回值 $bol = move_uploaded_file($file["tmp_name"], $imgname); if($bol){ echo "上传成功!"; } else { echo "上传失败!"; }; }; } else { // 不是图片类型 echo "没有图片,再检查一下吧!"; }; } else { // 失败 echo $file["error"]; }; ?>
4. Bilder hochladen
Wenn zu diesem Zeitpunkt alles den Anforderungen entspricht, werden die von uns hochgeladenen Bilder im Dateiordner gespeichert. Hochladen erfolgreich!
Das obige ist der detaillierte Inhalt vonEine einfache Möglichkeit, Bilder in PHP hochzuladen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!