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

如何使用 PHP 在 MySQL 資料庫中儲存和檢索映像?

Barbara Streisand
Barbara Streisand原創
2024-12-24 07:04:17974瀏覽

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

使用PHP 在MySQL 資料庫中儲存和擷取影像

為了在MySQL 資料庫中儲存映像並使用PHP 檢索它們,需要使用以下幾種方法:需要採取步驟。

建立 MySQL表:
先在 MySQL 中建立一個表格來儲存映像資料。下面提供了標題為「testblob」的合適表格結構的範例:

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

插入影像:
要將影像插入資料庫,請取得影像資料並使用PHP 的文件實用程式來確定其尺寸。連接到MySQL 資料庫並執行類似以下的SQL 查詢,確保映像資料被轉義以防止SQL 注入:

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

擷取圖片:
To在網頁上顯示資料庫中的圖像,連接到資料庫並執行查詢以檢索圖像資料。設定適當的內容類型標頭並使用 PHP 的 echo 指令顯示影像:

$sql = "SELECT image FROM testblob WHERE image_id=0";
$result = mysql_query("$sql");
header("Content-type: image/jpeg");
echo mysql_result($result, 0);

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

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