Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Bilder mit MySQL und PHP speichern und abrufen?

Wie kann ich Bilder mit MySQL und PHP speichern und abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-17 08:56:24718Durchsuche

How Can I Store and Retrieve Images Using MySQL and PHP?

Bilder mit MySQL und PHP speichern und abrufen

Das Einfügen eines Bildes in eine MySQL-Datenbank erfordert das Erstellen einer Tabelle zum Speichern der Bilder und die anschließende Ausführung eine SQL-Abfrage zum Einfügen der Bilddaten. Zunächst wird eine MySQL-Tabelle namens „testblob“ mit Spalten zum Speichern des Bildes, seines Typs, seiner Größe, seiner Kategorie und seines Namens erstellt.

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 ''
);

Das Einfügen eines Bildes in diese Tabelle erfolgt mithilfe einer SQL-Abfrage Hier werden der Bildtyp, die tatsächlichen Bilddaten, die Bildgröße und der Bildname angegeben.

$imgData = file_get_contents($filename);
$size = getimagesize($filename);
mysql_connect("localhost", "$username", "$password");
mysql_select_db ("$dbname");
// mysqli 
// $link = mysqli_connect("localhost", $username, $password,$dbname); 
$sql = sprintf("INSERT INTO testblob
    (image_type, image, image_size, image_name)
    VALUES
    ('%s', '%s', '%d', '%s')",
    /***
     * For all mysqli_ functions below, the syntax is:
     * mysqli_whartever($link, $functionContents); 
     ***/
    mysql_real_escape_string($size['mime']),
    mysql_real_escape_string($imgData),
    $size[3],
    mysql_real_escape_string($_FILES['userfile']['name'])
    );
mysql_query($sql);

Das Abrufen eines Bildes aus der Datenbank kann mithilfe einer anderen SQL-Abfrage erfolgen, die die Bilddaten auswählt aus der entsprechenden Tabelle.

$link = mysql_connect("localhost", "username", "password");
mysql_select_db("testblob");
$sql = "SELECT image FROM testblob WHERE image_id=0";
$result = mysql_query("$sql");
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
mysql_close($link);

Das obige ist der detaillierte Inhalt vonWie kann ich Bilder mit MySQL und PHP speichern und abrufen?. 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