我第一次做PHP并研究这个但不是快乐。基本上,我试图从我的PHPMyAdmin数据库中获取图像并将其上传到我创建的网页。除图像外,所有标题和文本都按预期显示。
我从数据库中获取图像的代码
<?php
include 'config.php';
include 'opendb.php';
$getdestinationdetails = mysql_query("SELECT *
FROM tbldestinations
WHERE destinationid = $_GET[destinationid]");
while($row = mysql_fetch_array($getdestinationdetails))
{
echo "<h1>Visit " . $row['destinationname'] . "</h1>".
"<imgsrc = 'images" . $row['destinationimage'] . "' />" .
"<br />
<br />" .
$row['destionationdesc'] .
"<br />
<br />
Our holidays include:
<ul>
<li>Luxury coach travel from Shipley Town Centre</li>
<li>Bed and Breakfast at a top hotel</li>
<li>Free tea and coffee on board your coach</li>
<li>The services of an experienced courier</li>
<li>Free complimentary glass of champagne upon arrival at your hotel</li>
</ul>
<center><h2>Don't delay, book today!</h2></center>";
}
include 'closedb.php';
?>
我尝试了所有的实验但都徒劳无功。任何提示或建议将非常感激。提前致谢
答案 0 :(得分:2)
header('Content-Type: image/jpeg')
(或者您将显示的任何图像类型。然后,您将输出内容。此选项可能不是首选,因为它需要额外调用数据库(http://stackoverflow.com/questions/5525830/displaying-an-image-stored-in-a-mysql-blob) 任何一个选项,您都需要在主页上添加<img />
标记。选项1需要一个指向脚本的src
属性,包括在数据库中查找图像所需的任何标识符(但要非常小心XSS )。选项2将其直接输出到图像标签中,因此在某些方面也是优选的
上述代码应该可以正常工作,除非进行此修改:
echo "<h1>Visit " . $row['destinationname'] . "</h1>".
"<img src=\"images/" . $row['destinationimage'] . "\" />" .
...
我会做什么,最简单的是:在你的php文件中,输出你的图片(假设它是一个jpg),像这样:
...
echo '<img src="data:image/jpeg;base64,' . base64_encode($row['destinationimage']) . '" />';
...
以上实际上将图像放入图像标签本身,而不是通过互联网下载。我认为这里的挂断事实是你在PHPmyAdmin中看到了这个图像。当你在那里看到图像时,真的无法从PHPmyAdmin中获取它。我自己没有尝试过,但我会假设他们正在做类似于我上面展示的内容 - 只是在HTML标签中显示图像。