PHP Include for HTML?

У меня есть навигационная панель, изображение и заголовок, который я буду включать в каждую страницу моего сайта, поэтому я хотел использовать php include для ссылки на этот код на нескольких страницах. Тем не менее, я думаю, что у меня может быть синтаксис неправильный или что-то, потому что он ничего не делает, когда я его загружаю. Вот некоторые фрагменты кода:

<!-- sample page --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> <?php include ('headings.php'); ?> </head> <body> <?php include ('navbar.php'); ?> <?php include ('image.php'); ?> </body> </html> 

navbar.php

  <?php echo '<ul id="nav"> <li> <a href="Home.html">Home</a> </li> <li> <a>About Me</a> <ul> <li> <a href="Career.html">Career</a> </li> <li> <a href="Coding.html">Coding</a> </li> <li> <a href="Personal.html">Personal</a> </li> </ul> </li> <li> <a href="Travels.html">Travel</a> </li> <li> <a href="Contact.html">Contact</a> </li> </ul>'; ?> 

Спасибо за помощь!

  • Объединить значения n массивов в php
  • scandir () сортировать по дате изменения
  • Петля через массив php
  • Рекурсивная функция для генерации многомерного массива из результата базы данных
  • Как фильтровать массив по условию
  • Как считывается массив в цикле foreach PHP?
  • 6 responses to “PHP Include for HTML?”

      Александр Вигмор said:

      Вы можете использовать php код в файлах с расширением .php и только там (iff другой не определен в настройках вашего сервера).

      Просто переименуйте свой файл *.html в *.php


      Если вы хотите разрешить обработку php кода в файлах разного формата, у вас есть два варианта:

      1) Изменение httpd.conf чтобы разрешить это для всех проектов на вашем сервере, добавив:

       AddHandler application/x-httpd-php .htm .html 

      2) Создание файла .htaccess в вашем отдельном главном каталоге проекта с помощью:

       <Files /> AddType application/x-httpd-php .html </Files> 

      Для второго варианта вам нужно разрешить использование файлов .htaccess в вашем httpd.conf , добавив следующие настройки:

       AllowOverride All AccessFileName .htaccess 

      * это правильно для HTTP-сервера Apache

      Сирко said:

      Вам не нужно второпять информацию внутри стороны этого файла php. В php include будет автоматически включаться любой HTML-файл в этот файл.

      Убедитесь, что вы используете индекс с расширением .php, .html не будет использовать php. (Если вы не заявляете, что ваш сервер обрабатывает файлы .html в противном случае)

      Убедитесь, что ваши пути правильно настроены. Кстати, вы указали, что ваш файл header.php / navbar.php / image.php должен находиться в вашем корневом файле. Итак, ваш корень должен выглядеть так:

      index.php
      navbar.php
      image.php
      header.php

      В противном случае, если эти файлы PHP находятся в папке с именем /includes/ , она должна выглядеть так:

       <?php include ('includes/headings.php'); ?> 
      Александр Вигмор said:

      Попытайтесь получить некоторую отладочную информацию, может быть, что путь к файлу неправильный, например.

      Попробуйте эти две вещи: – Добавьте эту строку в начало своей страницы:

       <?php error_reporting(E_ALL);?> 

      Это приведет к печати всех ошибок / предупреждений / уведомлений на странице, поэтому, если есть какие-либо проблемы, вы получаете текстовое сообщение, описывающее его, а не пустую страницу

      Кроме того, вы можете изменить include (), чтобы потребовать ()

       <?php require ('headings.php'); ?> <?php require ('navbar.php'); ?> <?php require ('image.php'); ?> 

      Это вызовет ошибку FATAL. PHP не может загружать требуемые страницы и должен помочь вам лучше отслеживать, что происходит неправильно.

      Вы можете размещать здесь описания ошибок, если они есть, и вы не можете понять, что это значит.

      Александр Вигмор said:

      Вот пошаговый процесс для включения PHP-кода в html-файл (Tested)

      Если PHP работает, остается только один шаг, чтобы использовать PHP-скрипты в файлах с расширениями * .html или * .htm. Волшебное слово «.htaccess». Пожалуйста, ознакомьтесь с определением .htaccess в Википедии, чтобы узнать больше об этом. Согласно Википедии, это «файл конфигурации на уровне каталогов, который позволяет децентрализовать управление конфигурацией веб-сервера».

      Возможно, вы можете использовать такой файл конфигурации .htaccess для своей цели. В нашем случае вы хотите, чтобы веб-сервер обрабатывал файлы HTML, такие как файлы PHP.

      Сначала создайте пустой текстовый файл и назовите его «.htaccess». Вы можете спросить себя, почему имя файла начинается с точки. В Unix-подобных системах это означает, что dot-файл является скрытым файлом. (Примечание. Если ваша операционная система не позволяет именам файлов, начинающимся с точки, просто называть файл «xyz.htaccess» временно. Как только вы загрузите его на свой веб-сервер на более позднем этапе, вы можете переименовать файл в онлайн ». htaccess "). Затем откройте файл с помощью простого текстового редактора, такого как« Редактор »в MS Windows. Вставьте следующую строку в файл: AddType application / x-httpd-php .html .htm Если это не сработает, удалите строку из вашего файла и вставьте в нее эту альтернативную строку, для PHP5: приложение AddType / x- httpd-php5 .html .htm Теперь загрузите файл .htaccess в корневую директорию вашего веб-сервера. Убедитесь, что имя файла «.htaccess». Теперь ваш веб-сервер должен разбирать файлы * .htm и * .html, такие как файлы PHP.

      Вы можете попробовать, если он работает, создав HTML-файл, как показано ниже. Назовите его «php-in-html-test.htm», вставьте в него следующий код и загрузите его в корневой каталог вашего веб-сервера:

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>Use PHP in HTML files</TITLE> </HEAD> <BODY> <h1> <?php echo "It works!"; ?> </h1> </BODY> </HTML> 

      Попробуйте открыть файл в своем браузере, набрав: http://www.your-domain.com/php-in-html-test.htm (еще раз, пожалуйста, замените your-domain.com своим собственным доменом .. .) Если ваш браузер показывает фразу «Это работает!» все работает отлично, и вы можете использовать PHP в. * html и * .htm-файлах с этого момента. Однако, если нет, попробуйте использовать альтернативную строку в файле .htaccess, как мы показали выше. Если все еще не работает, обратитесь к вашему провайдеру хостинга.

      sresht said:

      Я понял, что простое решение для PHP включает в себя материал. Просто переименуйте все ваши .html-файлы в .php, и вы хорошо поедете.

      Рудольф Готтесхайм said:

      Во-первых: что говорили другие. Забудьте инструкцию echo и просто напишите свой navbar.php как обычный файл HTML.

      Во-вторых: ваши включенные пути, вероятно, перепутаны. Чтобы включить файлы, находящиеся в том же каталоге, что и текущий файл, используйте __DIR__ :

       include __DIR__.'/navbar.php'; // PHP 5.3 and later include dirname(__FILE__).'/navbar.php'; // PHP 5.2 
    PHP is the Best Programming Language in the world.