Здравствуйте! Пытаюсь сделать автоматическое создание страниц и при создании записываю туда небольшой PHP код:
$fp = fopen($file, "w");
fwrite($fp, "
<? $arr = $_SERVER['REQUEST_URI'];
$resArr = explode('/', $arr);
//var_dump($resArr);
$str = '';
$length = count($resArr);
?>
<div> ...
");
Проблема в том что из-за кучи скобок и PHP кода, ругается обработчик. Можно сделать так чтобы обработчик воспринимал этот код, как простой текст?
Nowdoc ¶
Nowdoc
- это то же самое для строк в одинарных кавычках, что и heredoc
для строк в двойных кавычках. Nowdoc
похож на heredoc
, но внутри него
не осуществляется никаких подстановок. Эта конструкция идеальна для
внедрения PHP-кода или других больших блоков текста без необходимости
его экранирования. В этом он немного похож на SGML-конструкцию
<![CDATA[ ]]>
тем, что объявляет блок текста, не предназначенный для
обработки.
Nowdoc
указывается той же последовательностью <<<
, что используется в
heredoc
, но последующий за ней идентификатор заключается в одинарные
кавычки, например, <<<'EOT'
. Все условия, действующие для heredoc
идентификаторов также действительны и для nowdoc
, особенно те, что
относятся к закрывающему идентификатору.
© документация
Подробнее:
heredoc
синтаксисnowdoc
синтаксисДля вашего примера:
$content = <<<'CODE'
<? $arr = $_SERVER['REQUEST_URI'];
$resArr = explode('/', $arr);
//var_dump($resArr);
$str = '';
$length = count($resArr);
?>
<div> ...
CODE;
$fp = fopen($file, "w");
fwrite($fp, $content);
Однако, поскольку данный код вы планируете вставлять во множество файлов, то лучше подключите его через include
, что позволить избежать проблем, когда понадобится внести изменения во все нагенерированное.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть массив в сессииВ этом массиве находятся данные о первом товаре на который я нажал (имя, цена, кол-во)
Разбираю пример из учебника и столкнулся сразу же с ошибкой