如何更改php中的内容类型?
Posted
技术标签:
【中文标题】如何更改php中的内容类型?【英文标题】:How to change content type in 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); ?>&h=195&w=540&zc=1&q=95" comcopy">你没有提到你正在使用哪个网络服务器。另外,您在网络服务器上显示的图像是普通文件,还是生成的图像,也使用 PHP?是只有这一个图像不起作用,还是此服务器上托管的所有图像都会发生这种情况?
直接用浏览器调用图片URL,看看有没有报错。如果您的浏览器报告图像损坏,则图像生成代码中存在错误,但 header() 很好。我很确定您的内容类型现在设置正确。错误可能在其他地方。
已调用,未找到 C:/wamp/www/wp-content/uploads/2009/05/1.jpg。但是,图像文件在该文件夹中。很奇怪吧??
我在本地测试它,使用 wamp,它的 wordpress 东西......
这能回答你的问题吗? change mime type of output in php
【参考方案1】:
header('Content-Type: image/jpeg');
确保在进行任何输出之前调用 header() 函数,否则您将收到“标头已发送”错误。
【讨论】:
【参考方案2】:
听起来图像是由某种服务器端脚本生成的。如果它是由您有权访问的 PHP 脚本生成的,只需包括对 header()
的调用,如下所示:
header('Content-Type: image/jpeg');
确保在输出任何东西之前调用header()
——即使是意外输出的空行或杂散空间也会导致header()
失败(通常最好调用@ 987654325@在脚本的开头)。
我认为,如果您无法访问生成图像的脚本,那么您就不走运了。
【讨论】:
以上是关于如何更改php中的内容类型?的主要内容,如果未能解决你的问题,请参考以下文章
仅在内容类型 === JSON 时更改 Java 过滤器中的内容类型或字符编码
如何更改 httppostedfilebase 的内容类型?