我有两个虚拟系统进行开发。第一个是Windows + xampp(apache,php,mysql),第二个是Linux + apache + php + mysql。我有非常非常简单的页面,使用外部链接从数据库加载图像(是的,图像不在文件系统中,图像不在这里,是正确与否)。外部图像不显示在Apache下
第一页显示的照片:从数据库
<img src="photo.php?photo_id=4" height="127" width="127">
第二个页面加载它们:
if (isset($_GET['photo_id'])) {
$link = getDBconnection();
$result = getPhoto($link, $_GET['photo_id']);
if ($result) {
$row = mysql_fetch_assoc($result);
header("Content-type: " . $row['MIMEtype']);
echo $row['photoImage'];
}
closeDBconnection($link);
}
一切都在Windows机器上,但Linux机器上做工精细,照片只是不” t出现。我的意思是来自页面目录的图像文件加载并显示,但不知何故这个外部链接停止工作。我放了几个回声,并确保脚本执行和photoImage有二进制数据。
我不知道,这只是配置问题(可能,我没有每天配置apache/php/mysql)。我一直在坚持。有任何想法吗?
PS。数据库完全一样。我刚从Windows导出/导入到Linux的mysql数据库。从数据库中成功选择任何其他数据。这只是照片,不起作用。
已解决
感谢Marc B的编码小费。我意识到可能的问题,但完全忘了它。通过ftp再次将文件复制到LINUX机器后,再次检查我没有更改编码(通过编辑任何文件)后,照片显示出来。
当outputtnig从DB的图像你有没有设置在photo.php头为图像的正确图像类型?即jpeg,png等。 – SW4
是的,使用$ row ['MIMEtype']将标题设置为'image/jpeg'。 MIME类型作为照片表格中的属性存储。 – qlf00n
正在使用同一浏览器是测试? – Ryre