使用PHP5(cgi)从文件系统输出模板文件,并出现吐出原始HTML的问题。
private function fetch($name) { $path = $this->j->config['template_path'] . $name . '.html'; if (!file_exists($path)) { dbgerror('Could not find the template "' . $name . '" in ' . $path); } $f = fopen($path, 'r'); $t = fread($f, filesize($path)); fclose($f); if (substr($t, 0, 3) == b'\xef\xbb\xbf') { $t = substr($t, 3); } return $t; }
即使我添加了BOM修复程序,但Firefox接受它仍然有问题。您可以在此处查看实时副本:http : //ircb.in/jisti/(以及要查看的模板文件,我在http://ircb.in/jisti/home.html上提交的文件)
任何想法如何解决这个问题?o_o
您将使用以下代码删除utf8 bom
//Remove UTF8 Bom function remove_utf8_bom($text) { $bom = pack('H*','EFBBBF'); $text = preg_replace("/^$bom/", '', $text); return $text; }