Во-первых, а) Я надеюсь, что я не спрашиваю, глупый вопрос, и б) это не было уже покрыто ..PHP эхо не обрабатывает
Для проекта я пишу форму системы CMS (базовый) для веб-сайта клиента, но с помощью file_get_contents(), а затем echo'ing он возвращает raw html с php-тегами в нем.
Может ли кто-нибудь пролить свет на то, что я делаю неправильно, пожалуйста?
<?php
require_once("system/functions.php");
require_once("registeredModules.php");
include "system/PageGenerator.php";
$includes = array("pagePreamble"=>"pageData/index_pagePreamble.inf",
"headContents"=>"pageData/index_headContents.inf",
"bodyPreamble"=>"pageData/index_bodyPreamble.inf",
"contents"=>"pageData/index_contents.inf");
$pageTitle = "Hook and Odiham Lions";
$html = file_get_contents($template);
... other processing here....
print $html;
?>
Что такое форма '$ template'? Это имя файла или URL-адрес? Если это имя файла, PHP просто получает файл с диска, не выполняя его сначала. Если вы хотите, чтобы PHP выполнял его, вам нужно использовать 'include', но будьте очень осторожны, это код, предоставленный пользователем! –
Это имя файла ... $ template = "templates/hookodihamlions.template"; –
'file_get_contents()' просто читает файл в виде строки. Он не выполняет этот файл как код PHP. Для этого вам нужно использовать 'include' или' eval() 'в зависимости от того, что вы хотите сделать (возможно, в сочетании с буферизацией вывода (см. [' Ob_start() '] (http://be1.php.net/ ob_start)), чтобы получить выход в PHP-переменную, а не непосредственно в brower). Но, * если * этот шаблон предоставляется пользователю, это плохая идея выполнить их! –