1

我有一个奇怪的情况,PHP 的工作方式与 HTML 不同。我不是网络程序员,只是在胡闹。在 HTML 中,我的图像看起来很好,在 PHP 中,图像被破坏了。并且只有来自我的 Dropbox https 服务器的公共图像被破坏,来自 http 服务器的图像可以工作。

例如,这里有两个文件位于我的本地主机上,abc.html 和 def.php。他们尝试显示两张图片,一张指向我的 https 图像,另一张指向 Google 徽标。

abc.html:

<img src='https://photos-1.dropbox.com/i/l/EyvpAUN99vGCmWKqw-ywSYXY1L8dPhkloKA5i9I--NM'>
<img src='http://www.google.co.uk/intl/en_uk/images/logo.gif'>

def.php:

<?php
echo "<img src='https://photos-1.dropbox.com/i/l/EyvpAUN99vGCmWKqw-ywSYXY1L8dPhkloKA5i9I--NM'>";
echo "<img src='http://www.google.co.uk/intl/en_uk/images/logo.gif'>";
exit;

浏览到 abc.html 完美地显示了这两个图像。浏览到 def.php 仅显示 Google 徽标,而另一张图片已损坏。

它不适用于 Firefox,但有人告诉我它适用于 Opera。

请想法:)


编辑:def.php 输出:

<img src='https://photos-1.dropbox.com/i/l/EyvpAUN99vGCmWKqw-ywSYXY1L8dPhkloKA5i9I--NM'><img src='http://www.google.co.uk/intl/en_uk/images/logo.gif'>
4

5 回答 5

1

我建议安装FireBug以查看服务器的返回响应是什么。您可能会发现 DropBox 拒绝为来自以某些扩展名结尾的文件(例如 .php)的引用提供图像请求。

这也可以解释普通 HTTP 的重复行为。

于 2010-01-26T14:16:42.547 回答
0

这适用于我的 Firefox 版本 3.6,图像显示得非常好:

<HTML>
<HEAD>
<TITLE>My WebPage</TITLE>
</HEAD>
<BODY>

  <img src="https://photos-1.dropbox.com/i/l/EyvpAUN99vGCmWKqw-ywSYXY1L8dPhkloKA5i9I--NM" />

</BODY>
</HTML>
于 2010-01-26T13:54:51.123 回答
0

试试这个:

<?php
echo '<img src="https://photos-1.dropbox.com/i/l/EyvpAUN99vGCmWKqw-ywSYXY1L8dPhkloKA5i9I--NM">';
echo '<img src="http://www.google.co.uk/intl/en_uk/images/logo.gif">';
exit;

如果这样可行,那是因为 html 属性应该用双引号,而不是单引号。也许有些浏览器会原谅这一点,而有些则不会。

于 2010-01-26T14:38:35.240 回答
0

一个明显的观察结果,但您的 def.php 是否有结束 php 标记?您的代码示例不...

<?php
echo '<img src="https://photos-1.dropbox.com/i/l/EyvpAUN99vGCmWKqw-ywSYXY1L8dPhkloKA5i9I--NM">';
echo '<img src="http://www.google.co.uk/intl/en_uk/images/logo.gif">';
exit;
?>

编辑:将以上内容另存为 html 文件,而我在 Chrome 中只看到一张图片...另外 - 您是否安装了 PHP 模块/与您的 Web 服务器相关联?

于 2010-01-26T14:47:10.393 回答
0

在两者中尝试“查看源代码”并比较结​​果。

于 2010-01-26T15:15:01.180 回答