我从 youtube 上查找了一些教程,比如其中的 5 个,但由于某种原因它们都不适合我,我只看到损坏的图像图标。
我试过使用文件夹来获取图像,例如 img src="images/$row['picture'];
但我想要的是直接从数据库中显示出来。
如果可能,请给我一个代码,这样我就知道是我的浏览器还是我的代码。
我复制了这些代码,但它甚至不起作用
https://vikasmahajan.wordpress.com/2010/07/07/inserting-and-displaying-images-in-mysql-using-php/
它不显示图像:
最佳答案
是generally discouraged to approach it that way . <-(很高兴知道)
...它仍然可以完成,您的用例可能需要它...
首先您创建一个 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 ''
);
然后你可以像这样将图像写入数据库:
$imgData = file_get_contents($filename);
$size = getimagesize($filename);
mysql_connect("localhost", "$username", "$password");
mysql_select_db ("$dbname");
$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);
您可以在网页中显示来自数据库的图像:
$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);
关于php - 如何在不使用目录的情况下显示数据库中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39312883/