it-swarm.com.ru

PHP Включить для 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>';

    ?>

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

23
sresht

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

Просто переименуйте ваш файл *.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

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

24
Edward Ruchevits

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

9
Alexander Wigmore

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

Попробуйте эти две вещи: - Добавьте эту строку вверху вашей примерной страницы:

<?php error_reporting(E_ALL);?>

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

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

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

Это приведет к ФАТАЛЬНОЙ ошибке PHP не сможет загрузить необходимые страницы и поможет вам лучше отследить, что происходит не так.

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

4
raidenace

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

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

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

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

1
napender

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

1
chitech

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

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

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

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

0
Alex S