У меня есть главная страница в которой есть строки
<?php
$template=file_get_contents("SHABLON.php") or die("Не могу загрузить шаблон!");
if(empty($_GET['page']))
{
$page=1;
}
else
{
$page=(int)$_GET['page'];
}
switch($page)
{
case 1:
$content=file_get_contents("SendMessage.php");
break;
case 2:
$content=file_get_contents("pages/WhySend.php");
break;
case 3:
$content=file_get_contents("pages/SuccessStories.php");
break;
Т.ю. есть страница Index, в которой в зависимости от параметра GET,
Отражается та или иная страница.
$content=file_get_contents("SendMessage.php")
Все хорошо, пока в странице только HTML
Но когда в странице появляется PHP, присоеденямой через $content=file_get_contents("..»)ж
Серевер читает это как простой текст,
И скрипт не работает
Прошу помощи!
И заранее спасибо!
Спустя 15 минут, 4 секунды (30.05.2010 - 17:20) phz написал(а):
Измените file_get_contents на include http://php.net/manual/en/function.include.php
Спустя 35 минут, 47 секунд (30.05.2010 - 17:56) shivaprem написал(а):
Проясни плиз,
я смотрел манул, но не понял
у меня есть
По идее его надо заменить на
Так как мне нужна переменная $content
в конце скрипта
чего-то я неправильно понял,
не работает.
результат тот-же
Прясни Плиз.
И спасибо!
я смотрел манул, но не понял
у меня есть
$content=file_get_contents("SendMessage.php");
По идее его надо заменить на
$content=include("SendMessage.php");
Так как мне нужна переменная $content
в конце скрипта
$template=str_replace("{content}",$content,$template);
echo $template;
чего-то я неправильно понял,
не работает.
результат тот-же
Прясни Плиз.
И спасибо!
Спустя 8 минут, 59 секунд (30.05.2010 - 18:05) vasa_c написал(а):
Мудрость веков описана в пыльном мануале на www.php.net
Первый вопрос: вам нужно получить содержимое файла или результат выполнения сценария из этого файла?
Первый вопрос: вам нужно получить содержимое файла или результат выполнения сценария из этого файла?
Спустя 13 минут, 18 секунд (30.05.2010 - 18:19) shivaprem написал(а):
мне нужно чтобы все содержимое файла,
сохранялось в переменной $content,
т.к. в конце страницы index есть
Код:
$template=str_replace("{content}",$content,$template);
echo $template;
Мне надо чтобы сохраняедось все содержимое файла, которое является готовой страницы.
Я понял как делать если мне нужны функции из атаченого файла,
но как записать весь файл в переменную,
и при том, чтобы выпонялись все скрипты PHP из этого файла я не понял.
В файле есть содержание HTML, и скрипты для этих форм.
В пыльном мануале на www.php.net.
Есть только исполнение функций,
А как впихать все содержание я не нашел.
Возможно, что пропустил,
Но не нашел.
Спасибо!
Спустя 4 минуты, 45 секунд (30.05.2010 - 18:23) Bezdna написал(а):
case 3:
include 'pages/SuccessStories.php';
break;
echo $template;
Спустя 6 минут, 35 секунд (30.05.2010 - 18:30) vasa_c написал(а):
Вы содержимое файла и получаете. Как простой текст, потому что содержимое файла, это простой текст.
Так вам надо выполнять код в файле или нет?
Так вам надо выполнять код в файле или нет?
Спустя 4 минуты, 35 секунд (30.05.2010 - 18:34) Rand написал(а):
Читай про буферизацию вывода. Принцип таков:
$template = file_get_contents('SHABLON.php') or die("Не могу загрузить шаблон!");
ob_start();
include("SendMessage.php");
$content = str_replace('{content}', ob_get_contents(), $template);
ob_end_clean();
echo $content;
Спустя 3 минуты, 21 секунда (30.05.2010 - 18:38) vasa_c написал(а):
Rand, а вот сейчас и SHABLON.PHP появится PHP-код, что делать?
Спустя 10 минут, 56 секунд (30.05.2010 - 18:49) Rand написал(а):
в шаблоне по определению не должно быть никакого php кода
Спустя 1 час, 25 минут, 13 секунд (30.05.2010 - 20:14) vasa_c написал(а):
Rand, приведите определение
Спустя 40 минут, 34 секунды (30.05.2010 - 20:55) Rand написал(а):
Целью шаблонов является разделение бизнес-логики от логики представления. Если в шаблоне написать php-код (бизнес-логика), то смысл его использования сразу теряется. А если в шаблоне будет чистый html, то я смогу использовать его, даже если мне придется поменять язык программирования. К тому же вы что, думаете все дизайнеры/верстальщики знакомы с php? Естественно нет. Шаблоны и создаются для того, чтобы каждый занимался своей работой, и верстальщик не бегал к программисту с мольбами о помощи: "Вася! Я тут удалил что-то, и теперь ничего не показывается! Что, делать? *паника*".
Дабы избежать ненужных постов, для особо умных напишу: расценивайте этот и мой предыдущий пост, как "Я считаю, что шаблон не должен содержать php-код, по скольку это противоречит моим представлениям о термине 'Шаблон'".
Автор спрашивал про файлы, загружаемые в зависимости от переменной $_GET['page'], но специально для vasya_c, модифицирую код, чтобы в файле SHABLON.php можно было использовать php:
Дабы избежать ненужных постов, для особо умных напишу: расценивайте этот и мой предыдущий пост, как "Я считаю, что шаблон не должен содержать php-код, по скольку это противоречит моим представлениям о термине 'Шаблон'".
Автор спрашивал про файлы, загружаемые в зависимости от переменной $_GET['page'], но специально для vasya_c, модифицирую код, чтобы в файле SHABLON.php можно было использовать php:
ob_start();
include("SendMessage.php");
$content = ob_get_contents();
ob_end_clean();
include("SHABLON.php"); /*где внутри вместо {content} стоит <?echo $content;?>*/
Спустя 45 минут, 49 секунд (30.05.2010 - 21:40) ZSH написал(а):
функция eval может помочь, но это оооооооооочень плохой способ.
Спустя 38 минут, 30 секунд (30.05.2010 - 22:19) phz написал(а):
Чуть флуда... Не кому не в обиду, просто только-что читал и как раз в тему
Комментарий к примеру из lurkmore: Если вы когда-нибудь где-нибудь увидите такой код — смело карайте анально автора потому что весь html-код можно спокойно вынести за php-тег если вы когда нибудь увидите html-код, вынесенный за php-тег в файле .php, анально карайте автора, потому что весь html-код можно и нужно выносить в отдельные файлы-шаблоны[2]. А после анальной кары лишите его доступа к клавиатуре из-за eval-гета. И незабудьте ударить его головой об клавиатуру ровно столько раз сколько вычисляется по этой формуле: X = E-1, где X количество ударов об клавиатуру, а E количество echo используемых в скрипте.
Комментарий к примеру из lurkmore: Если вы когда-нибудь где-нибудь увидите такой код — смело карайте анально автора потому что весь html-код можно спокойно вынести за php-тег если вы когда нибудь увидите html-код, вынесенный за php-тег в файле .php, анально карайте автора, потому что весь html-код можно и нужно выносить в отдельные файлы-шаблоны[2]. А после анальной кары лишите его доступа к клавиатуре из-за eval-гета. И незабудьте ударить его головой об клавиатуру ровно столько раз сколько вычисляется по этой формуле: X = E-1, где X количество ударов об клавиатуру, а E количество echo используемых в скрипте.
Спустя 27 минут, 37 секунд (30.05.2010 - 22:46) vasa_c написал(а):
Rand, а когда автору ещё чего-нибудь будет нужно, ещё подкорректируете код и дадите ему список новых непонятных значков, которые магическим образом у него заработают?
Или дадите автору подумать немного и попробовать хотя бы сформулировать что на самом деле нужно? Пусть хотя бы определиться, что такое файл, а что такое результат выполнения и что ему нужно.
Или дадите автору подумать немного и попробовать хотя бы сформулировать что на самом деле нужно? Пусть хотя бы определиться, что такое файл, а что такое результат выполнения и что ему нужно.
Спустя 9 минут, 56 секунд (30.05.2010 - 22:56) shivaprem написал(а):
Rand!!!!!
вот это рабоатет
Спасибо и низкий поклон!
вот это рабоатет
ob_start();
include("SendMessage.php");
$content = ob_get_contents();
ob_end_clean();
include("SHABLON.php");
Спасибо и низкий поклон!