为什么通过PHP获取图像不起作用?

时间:2010-08-07 04:22:51

标签: php html image src

我在Windows XP和FireFox 3.6.8上使用WampServer 2.0版。

我正在尝试通过PHP脚本获取图像内容,如下所示:

HTML:

<img src='temp_get_file.php' alt='picture not found' />

PHP:(temp_get_file.php)

<?php
header('Content-Type: image/png');
$img = imagecreatefromjpeg("1.png");
imagejpeg($img);
imagedestroy($img);
?>

HTML,PHP和1.png文件位于WampServer的www目录中。

不幸的是,我收到了这个错误(在FireFox的HTTPFOX插件中):

Error loading content (NS_ERROR_DOCUMENT_NOT_CACHED)

我看到“图片未找到”。

如果我像这样直接将图像放在HTML中:

<img src='1.png' alt='picture not found' />

一切正常。

我的PHP出了什么问题?

2 个答案:

答案 0 :(得分:5)

这可能只是您示例中的问题,但这不起作用:

imagecreatefromjpeg("1.png")
                 ^      ^
               JPEG != PNG

答案 1 :(得分:1)

实际上不是你的PHP,而是你的PHP技能:) 有人建议改善

  1. 您必须调试应用程序而不是询问社区 要这样做,你必须要 a)通过在浏览器地址栏中键入temp_get_file.php直接请求您的图像文件,以便您查看脚本的输出
    b)尽可能将Content-Type头输出放在代码中尽可能让PHP在发生错误时发送text / html
    c)在上面显示错误 或
    而不是上述所有这些,您可以打开日志记录错误并捕获错误日志中的错误     这两种方法都会让你得到PHP错误信息 - 这里你真的需要这个东西,而不是无用的firefox抱怨 并且此错误消息非常清楚 - 文件格式错误。

  2. 如果这是您的脚本所做的唯一事情,那么您不需要所有这些GD功能。那没用。如果你需要将一些文件输出到浏览器,那就去做吧。 <{1}}就足够了