2014-11-04 70 views
0

我用PHP数据库在PHP中创建了一个网站。 该网站在我的本地主机上完美运行,但是当我将其上传到提供商服务器时,图像未显示。当我检查提供商服务器上的数据库时,我发现图像文件已存储,所以这不是问题,除了我迷路了。 非常感谢您提前!来自数据库提供者的图像未显示,它在localhost上工作

具有显示图像的PHP页面上的代码:

<img src="ObjectImage.php?nObjectID=<?php echo $row['fldObjectID']; ?>" name="ObjectImage" id="ObjectImage"> 

的ObjectImage.php文档中的代码:

<?php 
$nObjectID = $_GET['nObjectID']; 
include '../Connection.php'; 
$result = mysqli_query($con, "SELECT fldObjectImage FROM tblobjecten WHERE fldObjectID='$nObjectID'"); 
$row = mysqli_fetch_array($result); 
$image = $row['fldObjectImage']; 
mysqli_close($con); 
header('Content-Type: image/jpg'); 
echo $image; 
?> 
+0

你检查错误日志? – 2014-11-04 16:44:25

+0

将$ image转储到本地主机和提供程序服务器中的文件(例如,使用var_export($ image,TRUE))中,并比较结果。 – Claudix 2014-11-04 16:49:48

+0

当您查看源代码时,图像src属性在您的活动服务器中实际显示的是什么? – 2014-11-04 16:49:49

回答

0

你在你的代码做的是非常危险的。您的查询中有一个SQL注入。当你使用mysqli然后使用预准备语句。

它不是将图像存储在BLOB字段中的最佳方式。可能有很多问题。检查你的数据库编码,一切都是UTF-8。

然后检查你的日志,如果你有一些错误。它有可能在头文件命令之前有错误。这会导致错误,因为在发送标题之前您有一个输出并且图像未显示。

最后的可能性<img src="ObjectImage.php你有更多的目录条目,你的浏览器找不到php文件。尝试是这样的:

<img src="/ObjectImage.php

+0

谢谢你的回复,不幸的是这并没有解决问题。我检查了日志,并没有发现错误。我试图把一个测试链接打开ObjectImage.php页面(首先删除头部输出),看看我是否得到一个PHP错误,情况并非如此。该文件在我的结果集中(我在原始文件上做了一个回声,这会产生一堆mumbojambo)。这几乎就像我的提供商不允许在服务器上这样做,因为它在本地完美工作。 – DevJeroenNL 2014-11-04 18:00:08

+0

我检查了数据库编码,我认为它是oke,但我不确定。 MySQL字符集:UTF-8 Unicode(utf8) MySQL连接排序规则:utf8_unicode_ci – DevJeroenNL 2014-11-04 18:11:27

+0

在我离开几天之前,我一直在寻找2晚的解决方案。我希望现在能够找到一种解决方案,我回到家中,但没有人回应。其他人有没有想过,也许斯托尼有一些其他的想法。随着我开始变得绝望,更多的投入是值得的。我知道解决方案并不是将图像存储在我的数据库中,但我有理由相信我仍然希望以这种方式来完成。提前致谢! – DevJeroenNL 2014-11-10 17:50:40

相关问题