【发布时间】:2012-11-26 23:09:32
【问题描述】:
我对 php 比较陌生。从 mysql 数据库检索 blob 数据后,我在浏览器(谷歌浏览器)中显示图像时遇到问题。
基本上,当在底部的 echo 前面添加斜杠时,以下代码会起作用。但是,我遵循了其他在线教程,并且导师能够在不使用斜线的情况下显示他们的图像,而我无法获得图像。我只是想知道标准规则是什么?要添加的另一件事 - 当我确实无法在浏览器中获取图像时,我会得到一个 ting 缩略图。如果有人能告诉我如何可靠地显示图像,我将不胜感激。我希望创建的网站只是关于图像。所以它是一种基本的。非常感谢您抽出宝贵时间。
<?php
$conn = mysql_connect ("localhost","root","arctic123");
$db = mysql_select_db ("user_images", $conn);
if(!$db) {
echo mysql_error();
}
$q = "SELECT * FROM images";
$r = mysql_query ("$q",$conn);
if($r) {
while($row = mysql_fetch_array($r)) {
//echo $row ['username'];
//echo "<br>";
header ("Content-type: image/jpeg");
echo $row ['logo'];
//echo "<br>";
}
}else{
echo mysql_error();
}
?>
【问题讨论】:
-
看在上帝的份上,不要使用
mysql_*。这些功能已被弃用,您应该至少使用mysqli... -
可能重复:stackoverflow.com/questions/5932249/… 和 stackoverflow.com/questions/5525830/…;此外,除了切换到 mysqli 之外,您还应该为您的数据库设置一个非 root 用户。
-
如果您的网站就像“关于图像的一切”,那么为什么要将它们存储在数据库中?有什么理由吗?我不明白“使用斜线”是什么意思。除了表示 cmets 的斜线外,我没有看到任何斜线。
-
由于您是 php 新手,我假设您是 Web 编程新手。尽量避免将图像存储在数据库中。只需使用文件系统。我只遇到过在数据库中存储图像有意义的几个实例。