Подтвердить что ты не робот

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>';

    ?>

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

4b9b3361

Ответ 1

Вы можете использовать код 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

Ответ 2

Вам не нужно повторять информацию в файле 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'); ?>

Ответ 3

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

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

<?php error_reporting(E_ALL);?>

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

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

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

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

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

Ответ 4

Вот шаг за шагом, чтобы включить php-код в html файл (Tested)

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

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

Сначала создайте пустой текстовый файл и назовите его ".htaccess" . Вы можете спросить себя, почему имя файла начинается с точки. В Unix-подобных системах это означает, что dot файл является скрытым файлом. (Примечание. Если ваша операционная система не позволяет именам файлов, начинающимся с точки, просто называть файл "xyz.htaccess" временно. Как только вы загрузите его на свой веб-сервер на более позднем этапе, вы можете переименовать файл в онлайн ". Htaccess" ) Затем откройте файл с помощью простого текстового редактора, такого как "Редактор" в MS Windows. Вставьте следующую строку в файл: Приложение AddType/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, как мы показали выше. Если все еще не работает, обратитесь к своему провайдеру хостинга.

Ответ 5

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

Ответ 6

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

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

include __DIR__.'/navbar.php'; // PHP 5.3 and later
include dirname(__FILE__).'/navbar.php'; // PHP 5.2

Ответ 7

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