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

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

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-11 06:31:13362瀏覽

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

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

在MySQL 資料庫中儲存和擷取影像是開發Web 應用程式時的常見任務,處理影像。本文示範如何使用 PHP 實現此目的。

建立資料庫表

首先,在 MySQL 資料庫中建立一個表格來儲存映像。您可以使用下列SQL 語句建立名為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 程式碼:

$imgData = file_get_contents($filename);
$size = getimagesize($filename);
// Connect to MySQL database
... (connection code) ...

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

從資料庫擷取影像

從資料庫擷取影像並將其顯示在網頁上,使用下列PHP 程式碼:

// Connect to MySQL database
... (connection code) ...

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

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

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