Um eine hohe Verfügbarkeit zu gewährleisten, erlaubt der Cloud Code Space von Baidu Developer den Benutzern nicht, Bilder im Codespace zu speichern. Die Verwendung von CDN oder Objektspeicher ist nicht nur kostenpflichtig, sondern auch kompliziert zu verwenden Deshalb haben wir darüber nachgedacht, ob img in der Datenbank gespeichert werden soll. Obwohl viele Leute sagen, dass dies zu Leistungsproblemen führt, sollten Sie es versuchen.
1. Bereiten Sie drei Dateien vor
Die erste wird zum Speichern von Bildern als Datenbankzeichen verwendet, die zweite PHP-Datei wird verwendet, um Datenbankzeichen abzurufen und Bilder zu generieren, und die dritte ist das in Datei 1 verwendete Bild.
2. Datenbankdesign
Extra lange Zeichenfolgen oder Binärdaten können mit TEXT (65535) bzw. BLOB (64 KB) gespeichert werden, aber Versuche, mit Binärdaten zu speichern, schlugen fehl . Ich verwende TEXT zum Speichern, aber ein Base64-verschlüsseltes Bild von mehr als 500 KB hat eine Zeichenlänge von 750.000!
Nur ein TEXT kann nicht gespeichert werden und kann auch zu schwerwiegenden Leistungsproblemen führen. Daher wird er in N Teile aufgeteilt und gespeichert. Hier wird die Länge von 50.000 Zeichen als Einheit verwendet. Zeichnen Sie imgid auf, um das Spleißen zu erleichtern.
3. Speichern Sie das Bild in der Datenbank [dm01_imgTobase64.php]
/*链接数据库*/ // 1.转为普通字符 $file = file_get_contents('test.jpg'); $base64_str = base64_encode($file); $len = strlen($base64_str); $step = ceil($len/50000); for ($i=0; $i <$step ; $i++) { $substr = substr($base64_str, $i*50000,50000); $sql = "INSERT INTO b64_img VALUES( null,1,1,$i,'$substr') "; $res = mysqli_query($link,$sql); }
Generierte Daten
5. Datenbankeinträge lesen und Bilder generieren [dm02_getImg.php]
/*链接数据库*/ $sql = "SELECT * FROM b64_img WHERE imgid = 1 ORDER BY bakid ASC "; $res = mysqli_query($link,$sql); $data = array(); $imgStr = ''; while ($row = mysqli_fetch_assoc($res)) { $imgStr .= $row['bstr'] ; } $binaryStr = base64_decode($imgStr); file_put_contents("ThisImg.jpg", $binaryStr);
6 , erfolgreich generierte Bilder
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo fügen Sie Bilder in PHP zur Datenbank hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!