使用 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中文网其他相关文章!