【问题标题】:How to change content type in php?如何更改php中的内容类型?
【发布时间】:2010-10-29 12:11:26
【问题描述】:

我有一张图片,但它没有显示。我检查了图像属性(右键单击并选择属性),我发现“类型”是 text/html 而不是 JPEG 图像。这是因为导致我的图像不显示的类型吗?如何更改“类型”值?我正在使用 php...

我在一个简单的 html [img] 标签中显示图像...

编辑:

是的,我试过了..如果我包括

<?php header('Content-Type:image/jpeg'); ?>

显示网址​​,很奇怪吧??

我用的是apache,图片是php代码生成的……

<img src="<?php echo bloginfo('template_url'); ?>/thumb.php?src=<?php echo get_post_meta($post->ID, "image", $single = true); ?>&amp;h=195&amp;w=540&amp;zc=1&amp;q=95" alt="<?php the_title(); ?>

【问题讨论】:

  • 你没有提到你正在使用哪个网络服务器。另外,您在网络服务器上显示的图像是普通文件,还是生成的图像,也使用 PHP?是只有这一个图像不起作用,还是此服务器上托管的所有图像都会发生这种情况?
  • 直接用浏览器调用图片URL,看看有没有报错。如果您的浏览器报告图像损坏,则图像生成代码中存在错误,但 header() 很好。我很确定您的内容类型现在设置正确。错误可能在其他地方。
  • 已调用,未找到 C:/wamp/www/wp-content/uploads/2009/05/1.jpg。但是,图像文件在该文件夹中。很奇怪吧??
  • 我在本地测试它,使用 wamp,它的 wordpress 东西......
  • 这能回答你的问题吗? change mime type of output in php

标签: php http-headers content-type


【解决方案1】:
header('Content-Type: image/jpeg');

确保在进行任何输出之前调用 header() 函数,否则您将收到“标头已发送”错误。

【讨论】:

    【解决方案2】:

    听起来图像是由某种服务器端脚本生成的。如果它是由您有权访问的 PHP 脚本生成的,只需包括对 header() 的调用,如下所示:

    header('Content-Type: image/jpeg');
    

    确保在输出任何东西之前调用header()——即使是意外输出的空行或杂散空间也会导致header()失败(通常最好调用@ 987654325@在脚本的开头)。

    我认为,如果您无法访问生成图像的脚本,那么您就不走运了。

    【讨论】:

      猜你喜欢
      • 2018-05-20
      • 1970-01-01
      • 2012-09-22
      • 2018-08-30
      • 1970-01-01
      • 2010-10-31
      • 1970-01-01
      • 2016-12-07
      • 1970-01-01
      相关资源
      最近更新 更多