Heim >Backend-Entwicklung >PHP-Tutorial >Wie speichere und rufe ich Bilder aus einer MySQL-Datenbank mit PHP ab?

Wie speichere und rufe ich Bilder aus einer MySQL-Datenbank mit PHP ab?

Barbara Streisand
Barbara StreisandOriginal
2024-12-24 07:04:17978Durchsuche

How to Store and Retrieve Images from a MySQL Database Using PHP?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn