Um die Bild-Upload-Funktion zu testen und den Bildpfad in der Datenbank zu speichern, müssen wir zunächst eine neue Testtabelle erstellen test_img
.
CREATE TABLE test_img ( id int(4) UNSIGNED NOT NULL AUTO_INCREMENT, path varchar(100) default NULL, upload_time timestamp default CURRENT_TIMESTAMP, PRIMARY KEY(id) )engine=myisam DEFAULT charset=utf8
SQL-Befehl: Generieren Sie beim Einfügen in die Tabelle eine eindeutige Zahl. Wenn beispielsweise zu viele Testdaten vorhanden sind, erhöht sich die ID von selbst weiter . Wenn Sie die ID auf 1 zurücksetzen möchten, können Sie den folgenden Befehl ausprobieren:
alter table test_img auto_increment = 1
Erstellen Sie eine neue img.html
-Datei, um das hochgeladene Bild auszuwählen
<!DOCTYPE html><html lang="utf-8"><head> <meta charset="UTF-8"> <title>图片上传</title></head><body><form action="img.php" method="post" enctype="multipart/form-data"> 选择上传的图片: <input type="file" name="file" accept="image/*"> <br><br> <input type="submit" value="上传"></form>
<form>
Das enctype
im Tag steuert, ob die Formulardaten codiert und gesendet werden. Der Standardwert ist application/x-www-form-urlencoded
, was bedeutet, dass alle Zeichen vor dem Senden codiert werden. Das
值 | 描述 |
---|---|
application/x-www-form-urlencoded | 在发送前编码所有字符 ( 默认) |
multipart/form-data | 不对字符编码。在使用包含文件上传控件的表单时,必须使用该值 |
text/plain | 空格转换为 “+” 加号,但不对特殊字符编码 |
<input>
accept
Tag begrenzt das Upload-Format
Drei neue img.php
werden zum Akzeptieren und Verarbeiten von Bildern
$_FILES
zum Abrufen der Bilddatei verwendet den spezifischen Dateinamen in die Datentabelle test_img
, move_uploaded_file
die Bilddatei im Zielordner speichern, iconv
eine Zeichenkodierung durchführen, um zu verhindern, dass Bilder mit chinesischen Namen nach dem Hochladen verstümmelt werden
<?php header("Content-Type: text/html;charset=utf-8"); $conn = new mysqli('localhost', 'root', '', 'test'); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $destination = '../upload/image/'; $file = $_FILES['file']; // 获取上传的图片 $filename = $file['name']; $insert = "INSERT INTO test_img (path) VALUES ('$filename')"; $test = move_uploaded_file($file['tmp_name'], $destination . iconv("UTF-8", "gb2312", $filename)); if ($insert && $test) { $conn->query($insert); } else { echo '上传失败' . '<br>'; } $select = 'SELECT path FROM test_img'; $result = $conn->query($select); while ($row = $result->fetch_assoc()) { echo "<img src=" . $destination . $row['path'] . " alt="Bringen Sie Ihnen Schritt für Schritt bei, wie Sie PHP verwenden, um die Bild-Upload-Funktion zu implementieren" >"; }
print_r( $_FILES['file']); // Die empfangenen hochgeladenen Bilder ausgeben Die folgenden Informationen werden erhalten
Nachdem das Bild erfolgreich hochgeladen wurde, Die Bildinformationen unter der Datentabelle werden mit den Bildinformationen unter upload/image
abgeglichen und in einer Schleife angezeigt. Der Effekt ist wie folgt.
Vier zu Ende
Das Obige ist nur eine grobe Version, wie man Bilder in PHP hochlädt. Sie können versuchen, einige Details selbst zu ändern und zu verbessern. Wenn mein Teilen Sie nur inspirieren kann, geben Sie mir doch ein „Gefällt mir“, um mich zu ermutigen, wenn Sie es nicht geben
Vielen Dank fürs Lesen, ich hoffe, Sie werden etwas gewinnen
Empfohlenes Tutorial: „PHP-Tutorial“
Das obige ist der detaillierte Inhalt vonBringen Sie Ihnen Schritt für Schritt bei, wie Sie PHP verwenden, um die Bild-Upload-Funktion zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!