Спецификация до doctype из-за функций управления файлами PHP - PullRequest
1 голос
/ 24 сентября 2011

Я спросил здесь , почему моя страница не работала в IE. Ответ состоял в том, что у меня был байт как раз перед doctype.

Тем не менее, я проверяю и перепроверяю, перед доктипом нет пробелов, я сохранил документ как ANSI, как UTF-8 без спецификации (все с блокнотом), и он не исчезает.

Но я смог собрать некоторые интересные данные. Мой сайт использует для отображения шаблонов контента. Если я выбираю заголовок (где проблема) и отображаю его непосредственно в IE, он работает!

Так что я думаю, что бит добавляется, когда файлы читаются из php и отображаются. PHP коды для отображения контента:

    function gettemplate ($templatename) {
        $filename = './templates/'. $templatename . ".tpl";
        return ReadFromFile($filename);
    }

Расширение файлов: .tpl , но оно работает точно так же, как если бы оно было .html (я его проверил)

Как я могу решить эту проблему?

1 Ответ

2 голосов
/ 24 сентября 2011

Когда я делаю hexdump вашей страницы:

$ GET http://juancarlosoleacañizares.es/ | hd | head -n 1
00000000  ef bb bf ef bb bf 3c 21  44 4f 43 54 59 50 45 20  |......<!DOCTYPE |

Я вижу два BOM-маркера (два раза EF BB BF), что необычно. Вы проверили, есть ли у .php-файлов маркеры спецификации?

...