PHP:使用UTF-8时使用readfile显示图像失败

时间:2010-11-10 10:40:45

标签: php unicode

我试图使用php函数'readfile(path_to_image)'来动态显示图像。 当它使用编码为ANSI的php脚本文件时,当以UTF-8编码的相同脚本文件(或甚至包含在使用UTF-8的文件中)时,它会失败。 知道如何解决这个问题吗?

对不起,代码如下:

header('Content-Type: image/jpeg');
readfile('C:\wbs\uploads\admin\Koala.jpg');

正如我所说,当文件是ANSI时它可以工作,将其保存为UTF-8并且失败。

谢谢, 大卫

1 个答案:

答案 0 :(得分:4)

一个猜测是,您的IDE将文件存储为带有BOM的UTF-8。 BOM将被解释为PHP的输出,这将阻止发送内容类型标题,并且所有内容都从那里变成梨形。

如果是这种情况,您应该遇到output already sent警告。如果什么也看不到,请尝试打开错误报告。

如果是这种情况,保存没有BOM的文件将解决它。