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

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

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-11 16:40:11656瀏覽

How to Store and Retrieve Images in MySQL using PHP?

使用 PHP 在 MySQL 中儲存和擷取映像

在 MySQL 資料庫中儲存和擷取映像可讓您有效管理大量視覺內容。本文提供了使用 PHP 實現此任務的全面指南。

資料庫結構

首先,您需要建立一個 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 ''
);

插入影像

要將影像插入資料庫,您可以使用下列 PHP程式碼:

$imgData = file_get_contents($filename);
$size = getimagesize($filename);
$link = mysqli_connect("localhost", "username", "password", "dbname");
$sql = sprintf("INSERT INTO testblob
    (image_type, image, image_size, image_name)
    VALUES
    ('%s', '%s', '%d', '%s')",
    mysqli_real_escape_string($link, $size['mime']),
    mysqli_real_escape_string($link, $imgData),
    $size[3],
    mysqli_real_escape_string($link, $_FILES['userfile']['name'])
    );
mysqli_query($link, $sql);

擷取影像

要從資料庫擷取影像,您可以使用下列 PHP 程式碼:

$link = mysqli_connect("localhost", "username", "password", "dbname");
$sql = "SELECT image FROM testblob WHERE image_id=0";
$result = mysqli_query($link, $sql);
header("Content-type: image/jpeg");
echo mysqli_result($result, 0);
mysqli_close($link);

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

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