首頁 >後端開發 >php教程 >如何使用 MySQL 和 PHP 儲存和檢索映像?

如何使用 MySQL 和 PHP 儲存和檢索映像?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-17 08:56:24715瀏覽

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

使用MySQL 和PHP 儲存和擷取影像

將影像插入MySQL 資料庫涉及建立一個表格來儲存影像,然後執行用於插入影像資料的SQL 查詢。首先,建立一個名為「testblob」的 MySQL 表,其中包含用於儲存映像及其類型、大小、類別和名稱的欄位。

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

使用 SQL 查詢將映像插入到此表中指定映像類型、實際映像資料、圖片大小和映像名稱。

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

可以使用另一個選取的 SQL 查詢從資料庫中擷取影像來自對應表的影像資料。

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

以上是如何使用 MySQL 和 PHP 儲存和檢索映像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn