使用mysql在php中显示图像
我试图显示一个图像以及数据库中的其他信息 PHP使用mysql在php中显示图像,php,mysql,Php,Mysql,我试图显示一个图像以及数据库中的其他信息 PHP <?php mysql_connect("localhost","111","222") or die("Could not connect to localhost"); mysql_select_db("movies") or die( "Could not connect to database"); $result = mysql_que
<?php
mysql_connect("localhost","111","222") or die("Could not connect to localhost");
mysql_select_db("movies") or die( "Could not connect to database");
$result = mysql_query("SELECT * FROM allmovies");
if ($result == false ) die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo "<img src=' . $row['image'] . '>";
?>
比如:
标题:废话价格:废话
图像:
在一个页面中全部来自MySQL
$imagedata = data_from_mysql();
header('Content-Length: ' . sizeof($imagedata) );
header('Content-Type: image/png');
echo $imagedata;
exit;
while( $imagedata = data_from_mysql() ) {
echo "<img src='data:image/png;base64," . base64_encode($imagedata) . "'>";
}
while($imagedata=data\u from\u mysql()){
回声“;
}
$imagedata = data_from_mysql();
header('Content-Length: ' . sizeof($imagedata) );
header('Content-Type: image/png');
echo $imagedata;
exit;
while( $imagedata = data_from_mysql() ) {
echo "<img src='data:image/png;base64," . base64_encode($imagedata) . "'>";
}
while($imagedata=data\u from\u mysql()){
回声“;
}
$im=imagecreatefromstring($row['image']);
如果($im!==false){
ob_start();
图像JPEG($im);
$data=ob_get_contents();
ob_end_clean();
回声';
}
这只是我的看法,但将图像保存到文件服务器,然后将对路径的引用而不是整个图像存储为blob可能会稍微明智一些
$im=imagecreatefromstring($row['image']);
如果($im!==false){
ob_start();
图像JPEG($im);
$data=ob_get_contents();
ob_end_clean();
回声';
}
这只是我的观点,但将图像保存到文件服务器,然后将路径引用而不是整个图像作为一个blob存储可能更明智一些?我希望您有充分的理由使用古老的
mysql\u query
接口。您在db中存储了什么?它的路径还是什么?我正在将.png文件存储为一个blobHow,您是如何存储字节字符串的?base64编码?如果它是png,那么你不应该发送jpeg头。我希望你有充分的理由使用古老的mysql\u查询接口。你在db中存储什么?它的路径还是什么?我正在将.png文件存储为一个blobHow,您是如何存储字节字符串的?base64编码?如果它是png,那么你不应该发送jpeg标题。@Sammitch好的,谢谢。我现在把它改成了小路。我尝试使用echo“”;你在那里混合了单引号和双引号,echo'代码>或更好的printf(''.$row['image'])你是说你刚刚改变了网站的结构,现在正在存储路径而不是图像块?如果是这样,考虑相对路径或绝对路径。“>其中$row['image']=类似于“entry-1.jpg”的内容,而不是在数据库中存储完整路径。更合理的做法是存储文件名,然后将路径作为系统变量,以防移动对象around@KaiQing我建议不要使用绝对路径,因为这会将您的代码绑定到它当时所在的特定计算机上,并使更改的主机/计算机/提供rs/OSes/etc是个大麻烦。@Sammitch-我的意思是在标记的src attr中写入绝对值,而不是像现在一样回显$row['image']。假设db结果只是一个文件名或其他东西@Sammitch好的,谢谢。我现在将它改为路径。我正在尝试使用echo“";你在那里混合了单引号和双引号,echo'代码>或更好的printf(''.$row['image'])你是说你刚刚改变了网站的结构,现在正在存储路径而不是图像块?如果是这样,考虑相对路径或绝对路径。“>其中$row['image']=类似于“entry-1.jpg”的内容,而不是在数据库中存储完整路径。更合理的做法是存储文件名,然后将路径作为系统变量,以防移动对象around@KaiQing我建议不要使用绝对路径,因为这会将您的代码绑定到它当时所在的特定计算机上,并使更改的主机/计算机/提供rs/OSes/etc是个大麻烦。@Sammitch-我的意思是在标记的src attr中写入绝对值,而不是像原样回显$row['image']。假设db结果只是一个文件名或其他什么