Bilder aus einer MySQL-Datenbank mit PHP speichern und abrufen
Um Bilder in einer MySQL-Datenbank zu speichern und sie mit PHP abzurufen, sind mehrere Es müssen Schritte unternommen werden.
Erstellen der MySQL-Tabelle:
Beginnen Sie mit dem Erstellen eine Tabelle in MySQL zum Speichern der Bilddaten. Ein Beispiel für eine geeignete Tabellenstruktur mit dem Titel „testblob“ finden Sie unten:
create table testblob ( image_id tinyint(3) not null default '0', image_type varchar(25) not null default '', image blob not null, image_size varchar(25) not null default '', image_ctgy varchar(25) not null default '', image_name varchar(50) not null default '' );
Ein Bild einfügen:
Um ein Bild in die Datenbank einzufügen, rufen Sie die Bilddaten ab und seine Abmessungen mithilfe der Dateidienstprogramme von PHP. Stellen Sie eine Verbindung zur MySQL-Datenbank her und führen Sie eine SQL-Abfrage ähnlich der folgenden aus. Stellen Sie dabei sicher, dass die Bilddaten maskiert werden, um eine SQL-Injection zu verhindern:
$imgData = file_get_contents($filename); $size = getimagesize($filename); $sql = sprintf("INSERT INTO testblob (image_type, image, image_size, image_name) VALUES ('%s', '%s', '%d', '%s')", mysql_real_escape_string($size['mime']), mysql_real_escape_string($imgData), $size[3], mysql_real_escape_string($_FILES['userfile']['name']) ); mysql_query($sql);
Abrufen eines Bildes:
An Zeigen Sie ein Bild aus der Datenbank auf einer Webseite an, stellen Sie eine Verbindung zur Datenbank her und führen Sie eine Abfrage aus, um die Bilddaten abzurufen. Legen Sie den entsprechenden Inhaltstyp-Header fest und zeigen Sie das Bild mit dem Echo-Befehl von PHP an:
$sql = "SELECT image FROM testblob WHERE image_id=0"; $result = mysql_query("$sql"); header("Content-type: image/jpeg"); echo mysql_result($result, 0);
Das obige ist der detaillierte Inhalt vonWie speichere und rufe ich Bilder aus einer MySQL-Datenbank mit PHP ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!