Forum Webscript.Ru
Программирование => PHP => Тема начата: inviZe от 27 Января 2003, 12:04:18
-
Есть файл такого содержания
$str="текст";
echo $str;
содержимое файла вывожу:
eval(implode(file("file.php"), ""));
но как сделать так, чтобы содержимое хранилось в переменной, помогите, а то с синтаксисом eval запутался....
-
я не понял, зачем eval тут вообще?
$filecontents=implode("\\n", file("file.php"));
Обрати внимание на синтаксис функции implode
-
inviZe Для включения файла используется не eval, а include. Eval вообще использовать ненадо. и синтаксиса у него никакого нет.
Скорее всего, ничего "в переменной" хратить не надо. Объясни, чего ты хочешь добиться, и тебе скажут, как это сделать правильно.
AliMamed , только без \\n
-
я не понял, зачем eval тут вообще?
чтобы обрабатывать содержание как РНР код
-
Для включения файла используется не eval, а include
мне нужно не включить файл, а вставить содержимое файла в переменную....
-
для этого служит include
-
зачем тебе в переменной исполняемый код?
-
зачем тебе в переменной исполняемый код?
нужно выводить результат исполнения, нескольких файлов в одном месте, причём только определённых файлов, тех что помечены в БД
-
чудеса какие-то.
Тебе вообще знакомы такие понятия как case, function?
кроме держания кода в отдельных файлах есть еще много способов написания программ. Правильных способов, а не кривизны.
Даже если с файлами - кто тебе мешает доставать в цикле имена этих файлов и делать include($row[\'file\'])?
Но вообще архитектура у тебя стремная.
-
Тебе вообще знакомы такие понятия как case, function?
знакомы.....
вы можете ответить на мой вопрос???
кто тебе мешает доставать в цикле имена этих файлов и делать include($row[\'file\'])
шаблон мешает..
т.е. дизайн построен на шаблонах.
результат работы кода, должен выводится в том месте шаблона, где стоит эта самая переменная..
содержание шаблона переменной я присваивать понял как :
eval("\\$main.= \\"".$DB->tpl("news")."\\";");
-
на вопрос тебе давно ответили.
-
кто и где
ты мне ответил, только про инклуд, но оне мне не нужен!!!
$filecontents=implode("\\n", file("file.php")); выдаёт содержимое файла, не обрабатывая PHP код
-
а сам дальше додуматься не можешь?
литература к размышлению:
http://www.php.net/implode
http://www.php.net/file
http://www.php.net/eval
-
а сам дальше додуматься не можешь?
почему дальше, я нового пока, что ничего не получил.....
Я вообще я думал что на форумах принято отвечать на вопросы, а не посылать в мануал...
-
как сделать так, чтобы содержимое хранилось в переменной
$filecontents=implode("\\n", file("file.php"));
только без \\n
-
как сделать так, чтобы содержимое хранилось в переменной
$filecontents=implode("", file("file.php"));
Вот вопрос и вот ответ. содержимое файла file.php хранится в переменной $filecontents, которую ты можешь скормить eval.
что тебе еще непонятно?
-
-
$filecontents=implode("", file("file.php"));
eval("\\$x=\\"$filecontents\\";");
Parse error: parse error, unexpected T_STRING in index.php(26) : eval()\'d code on line
-
eval("\\$x=\\"$filecontents\\";");
это ты чо хочешь сделать то???
-
Что это за $x и каким боком он тут притерся?
почему нельзя просто написать eval($filecontents);?
\\"$filecontents\\" - это вообще песня.
Да будет тебе известно, что в кавычках в PHP находятся СТРОКИ. простые строки. Вася петя мама мыла раму.
$query="DELETE FROM webscript_forum".
Знаешь почему из форуме ничего не удалилось? потому, что PHP воспринимает это не как свой код, а как строку. Текст. Разница понятно?
И еще. совет на будущее.
НЕ ГОРОДИ ТЫ 10 ОПЕРАТОРОВ ПОДРЯД, ЕСЛИ НИ ОДНОГО НЕ ПОНИМАЕШЬ!
ДЕЛАЙ ПО ОЧЕРЕДИ
сделал один - вывел результат.
посмотрел - все правильно? то, что ожилдалось?
Если нет - исправляй.
И только после этого переходи к следующему.
в первом вопросе до евала вообще дело не хоходит. проблема в имплоде. а ты ее даже не увидел. А должен был сам. Если делать по очереди.
В последнем вопросе то же самое.
Ты бы хоть вывел на экран строку, которую передаешь в евал. Да посмотрел - а вообще она соответствует твоим представлениям о том, как она должна выглядеть?
подсказка: Эта строка должна выглядеть как обыкновенный PHP-код.
-
inviZe будь более уважителен к людям которые хотят тебе помочь! Ты себя ведёшь так, будто тебе обязаны.
Думаю быстрее будет без eval():
ob_start();
include("file.php");
$file_content=ob_get_contents();
ob_end_clean();