PHP显示存在MYSQL中的多张图片
大家好,我把图片存在了MYSQL数据库中,现在我想显示在WEB页面上。碰到了两个问题就是1,显示图片的PHP代码必须顶格写,前面如果有代码输出或有空格之类就会输出乱码。存...
大家好,我把图片存在了MYSQL数据库中,现在我想显示在WEB页面上。碰到了两个问题就是 1,显示图片的PHP代码必须顶格写,前面如果有代码输出或有空格之类就会输出乱码。存入没有问题,我就不列出了,显示图片代码详细如下:
<?php
// 连接数据库
$conn = mysql_connect("localhost", "root", "bowen");
mysql_select_db("books",$conn);
// 连接数据库查询
$sql="select * from image where id=111111";
$result=mysql_query($sql);
$num_results=mysql_num_rows($result);
$row=mysql_fetch_object($result);
echo $row->photo;
mysql_free_result($result);
mysql_close($conn);
?>
以上代码是正常的,可以显示一个图片,但如果写成下面这样,就会输出乱码。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<?php
// 连接数据库
$conn = mysql_connect("localhost", "root", "bowen");
mysql_select_db("books",$conn);
// 连接数据库查询
$sql="select * from image where id=111111";
$result=mysql_query($sql);
$num_results=mysql_num_rows($result);
$row=mysql_fetch_object($result);
echo $row->photo;
mysql_free_result($result);
mysql_close($conn);
?>
</body>
</html>
这段代码就会输出乱码。
2。显示图片只能显示一张,我想显示多张时,就添加了一个循环。加了循环之后,还是只显示一张图片,我把正常代码加入循环语句后,如下:
<?php
// 连接数据库
$conn = mysql_connect("localhost", "root", "bowen");
mysql_select_db("books",$conn);
// 连接数据库查询
$sql="select * from image";
$result=mysql_query($sql);
$num_results=mysql_num_rows($result);
//echo $num_results;
for ($i=0;$i<$num_results;$i++)
{
$row=mysql_fetch_object($result);
//Header( "Content-type:image/jpg");
echo $row->photo;
}
mysql_free_result($result);
mysql_close($conn);
?>
这段代码还是只显示一张图片。循环中加入Header( "Content-type:image/jpg");变成了下载源文件,不知什么原因?
现在我有两个目的:1,在嵌入HTML中时,显示图片不要乱码。2,我想一段代码可以显示多张图片。求求各位大侠能帮帮我,指点指点小弟,我对PHP处理图像了解比较少。在此先谢谢大家。 展开
<?php
// 连接数据库
$conn = mysql_connect("localhost", "root", "bowen");
mysql_select_db("books",$conn);
// 连接数据库查询
$sql="select * from image where id=111111";
$result=mysql_query($sql);
$num_results=mysql_num_rows($result);
$row=mysql_fetch_object($result);
echo $row->photo;
mysql_free_result($result);
mysql_close($conn);
?>
以上代码是正常的,可以显示一个图片,但如果写成下面这样,就会输出乱码。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<?php
// 连接数据库
$conn = mysql_connect("localhost", "root", "bowen");
mysql_select_db("books",$conn);
// 连接数据库查询
$sql="select * from image where id=111111";
$result=mysql_query($sql);
$num_results=mysql_num_rows($result);
$row=mysql_fetch_object($result);
echo $row->photo;
mysql_free_result($result);
mysql_close($conn);
?>
</body>
</html>
这段代码就会输出乱码。
2。显示图片只能显示一张,我想显示多张时,就添加了一个循环。加了循环之后,还是只显示一张图片,我把正常代码加入循环语句后,如下:
<?php
// 连接数据库
$conn = mysql_connect("localhost", "root", "bowen");
mysql_select_db("books",$conn);
// 连接数据库查询
$sql="select * from image";
$result=mysql_query($sql);
$num_results=mysql_num_rows($result);
//echo $num_results;
for ($i=0;$i<$num_results;$i++)
{
$row=mysql_fetch_object($result);
//Header( "Content-type:image/jpg");
echo $row->photo;
}
mysql_free_result($result);
mysql_close($conn);
?>
这段代码还是只显示一张图片。循环中加入Header( "Content-type:image/jpg");变成了下载源文件,不知什么原因?
现在我有两个目的:1,在嵌入HTML中时,显示图片不要乱码。2,我想一段代码可以显示多张图片。求求各位大侠能帮帮我,指点指点小弟,我对PHP处理图像了解比较少。在此先谢谢大家。 展开
4个回答
展开全部
建议你了解一下php和html的基本知识!
用header( "content-type:image/jpg")本来就是输出一张图片给客户端,header之前有其它字符输出当然会出错。即使是另一张图片
要显示多张图片请在html里写:<img src="你的php输出图片地址1" /><img src="你的php输出图片地址2" /><img src="你的php输出图片地址3" />
用header( "content-type:image/jpg")本来就是输出一张图片给客户端,header之前有其它字符输出当然会出错。即使是另一张图片
要显示多张图片请在html里写:<img src="你的php输出图片地址1" /><img src="你的php输出图片地址2" /><img src="你的php输出图片地址3" />
参考资料: http://cn.php.net/manual/en/function.header.php
展开全部
把图片存放在MYSQL中。增加了MYSQL的负担,效率不好。
直接用php传到网站目录中。再获取路径存在MYSQL中就可以了。
调用出来。直接采用<img src="">显示图片就可以了
直接用php传到网站目录中。再获取路径存在MYSQL中就可以了。
调用出来。直接采用<img src="">显示图片就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实,我的建议你不要把图片直接存在MYSQL数据库中,而是只保留图片的路径到数据库的字段中(如设计一个字段ImagePath的方式),然后程序只需要从数据库读取路径显示图片即可。
ps:这样有利于大大提高数据库性能。
ps:这样有利于大大提高数据库性能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么多,看不明白啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |