Я хочу поделиться содержимым своего тега заголовка HTML между несколькими страницами, но перед тем, как я использую require_once в теге заголовка HTML, я столкнулся с странной ошибкой. Позвольте мне объяснить лучше.
Если у меня есть следующий код:
<!DOCTYPE html> <html> <head> <title>Datos Soluciones Informáticas</title> <meta charset="UTF-8"> <link rel="stylesheet" href="/css/main.css"> </head>
и я проверяю код, все выглядит так, как ожидалось.
Однако, если я перемещаю содержимое тега head во внешний файл /snippets/head.php
<meta charset="UTF-8"> <link rel="stylesheet" href="/css/main.css">
А затем напишите в моем файле index.php следующий код:
<!DOCTYPE html> <html> <head> <title>Datos Soluciones Informáticas</title> <?php require_once('/snippets/head.php'); ?> </head>
Проверка показывает, что код не вставлен в нужное место:
Проблема не только в том, что проверка не работает, но страница не ведет себя так, как ожидалось. У меня такая же проблема с include
вместо require_once
Исходный вывод, полученный с помощью view-source: localhost in chrome выглядит неплохо, но страница не отображается хорошо
<!DOCTYPE html> <html> <head> <title>Datos Soluciones Informáticas</title> <meta charset="UTF-8"> <link rel="stylesheet" href="/css/main.css"> </head> <body>
Я использую Xampp 6.1 Build 7601 на компьютере под управлением Windows 7 в качестве моей локальной среды.
Кто-нибудь знает, что мне не хватает?
Еще один снимок:
Включен ли ваш файл с невидимым байтом (BOM)? Затем удалите его, установив правильную кодировку символов.
См. http://php.net/manual/en/function.include.php, который содержит этот комментарий:
ИЗБЕГАЙТЕ ZERO BYTE ORDER MARK!
У меня были проблемы с include / require (один раз или нет). Я создал include-opening.php, который имел начальную структуру страницы, а затем включил эту страницу на всех других страницах. Результат выглядел «разбитым», поэтому я сравнивал включение или просто вставку html-кода на страницу. Жестко кодированная версия отображается нормально, даже если исходный код является точно таким же.
Поэтому я открыл файл include с блокнотом ++ и установил кодировку в UTF-8 (без спецификации) и voila, теперь все отлично работает.
Попробуйте включить файл без первой косой черты, например:
<?php require_once('snippets/head.php'); ?>