[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Можно ли инклудить HTML?
Владимир55
Я всегда полагал, что функция include предполагает подключение файла, содержащего соответствующие рнр коды.

Но вот попробовал сделать так:
include ("1.html");


Тут я упор делаю не на html расширение файла, а на то, что в этом файле содержится полный код статической html страницы. Типа
<!DOCTYPE html>
<html>
<head>
<title>
Нет такой страницы</title>

И все нормально работает!

Получается, что инклудить можно даже html код?
vital
include просто вставляет содержимое файла. Там может быть что угодно. В чем вопрос то?

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
Владимир55
Ну, меня удивило, что ведь в подключаемом файле нет знаков использования РНР кода. Вот если бы было:
<?php
echo "
<!DOCTYPE html>
<html>
<head>
<title>Нет такой страницы</title>
"
;
?>
Получается, что можно по-любому?
vital
аа. А оно вывело хтмл просто?

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
Владимир55
Результат точно такой же, как если вызвать из браузера файл 1.html - на экране содержимое страницы.
artifex
я люблю инклюдить в буфер, к примеру
ob_start();
include_once('index.html');
$html = ob_get_clean();
sergeiss
Владимир55, я категорически рекомендую тебе читать документацию. Хотя бы иногда! Ты не поверишь, но у тебя отпадет очень много вопросов. И "заодно" ты узнаешь очень много нового.

Ну например... Открываем http://ru2.php.net/manual/ru/function.include.php, читаем. Что видим?
Цитата
Когда файл включается, парсинг в режиме PHP кода прекращается и переключается в режим HTML в начале указанного файла и продолжается снова в конце. По этой причине любой код внутри включаемого файла, который должен быть выполнен как PHP код, должен быть заключен в верные теги начала и конца PHP кода.

Перевожу с русского на русский: подключаемый файл рассматривается как HTML. Если там есть ПХП, то это надо указать в явном виде тэгами.


PS. Заодно прочитай там же про RETURN из подинклуженного файла - очень полезная фича!

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
inpost
Владимир55
ctrl+c и ctrl+v , скопировать и вставить контент. Вот по такой схеме и работает include, содержание ставит вместо себя. Вот и всё!

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Владимир55
Цитата (artifex @ 15.06.2014 - 12:32)
я люблю инклюдить в буфер

Я слышал про этот прием. А в чем смысл?

Цитата (sergeiss @ 15.06.2014 - 13:28)
Владимир55, я категорически рекомендую тебе читать документацию.

PS. Заодно прочитай там же про RETURN из подинклуженного файла - очень полезная фича!

Спасибо, оказалось весьма кстати!
UnWind
Владимир55
Смысл в том, что из буфера можно будет многократно использовать полученный код.

_____________
Искусство программирования - заставить компьютер делать всё то, что Вам делать лень!
sergeiss
Цитата (Владимир55 @ 15.06.2014 - 18:08)
Я слышал про этот прием. А в чем смысл?

Причин тому может быть несколько:
1. В подготовленном к выводу в браузер коде что-то заменить/удалить. Ни разу не делал smile.gif Но знаю, что возможно.
2. Подготовить данные для отправки аяксом, причем код должен находиться внутри JSON. Можно сформировать много разных блоков с данными и отправить их все одновременно. Использование буфера - единственная возможность это сделать. По крайней мере, единственная простая возможность, безо всяких "танцев с бубном". Вот это делал, очень удобно.
3. Если ты предполагаешь, что тебе на каком-то этапе, возможно, придется сделать редирект вместо вывода данных. Если ты начнешь выводить данные, то редирект уже не получится. Я не делал так, предпочитаю построить структуру обработки данных таким образом, чтобы обойтись без лишних телодвижений. В данном случае лишним будет вывод в буфер, который потом все равно не будет использован.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.