Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: PHP: Функция eval()
ТвойWeb » WebMaster класс » PHP/Perl » PHP: Функция eval()

Страниц (2): [1] 2 »
 

1. Bolat - 25 Июля, 2005 - 01:01:21 - перейти к сообщению
Читаю доки по одной проге и там всюду ссылаются на функцию
eval().

Но я ни как не могу врубится как она работает и для чего вообще нужна.
Прочитал что нужна для генерации кода. А для чего его нужно генирировать?

Объясните плиз. Желательно с конкретным примером задачи и примером ее решения.
2. Alfa - 25 Июля, 2005 - 01:27:40 - перейти к сообщению
Это "приклеивает" несколько переменных.
например

eval("number ","12"," is integer"Подмигивание;
эта функция вернет значение "number 12 is integer"
она так работает в JS, AS. Думаю сдесь так-же должно быть.
3. ETC - 25 Июля, 2005 - 02:15:04 - перейти к сообщению
Вообще-то eval - это интерпретация строки как кода PHP... Например:
CODE:

eval("\$str = 'abc';");
echo $str;

выведет abc. Проще говоря она выполняет строку как PHP. При этом строка должна быть синтаксически правильна с точки зрения PHP.
4. Bolat - 25 Июля, 2005 - 02:54:38 - перейти к сообщению
ETC
Аааа.
Кажется понял. Типа есть к примеру текстовый файл с кодом PHP.

Открываем файл и его содержимое в функцию eval() кидаем и этот код выполняется. Я правельно понял?
5. ETC - 25 Июля, 2005 - 03:10:12 - перейти к сообщению
Ну да, верно. Главное, чтобы в txt-файле был корректный php-код...
6. Bolat - 25 Июля, 2005 - 05:01:40 - перейти к сообщению
А как правельно циклы к примеру экранировать? Или как это называется? Такие слова как "for" или "while".
7. ETC - 25 Июля, 2005 - 05:22:35 - перейти к сообщению
А зачем их экранировать? Так и пиши. или пиши while(i<10) { ...; ...; ...; } и т.д.
8. Bolat - 25 Июля, 2005 - 05:31:40 - перейти к сообщению
Задача. Написать код который хранится в txt файле. И который будет закинут в функцию evail().
Код должен соответствовать следующему PHP коду:
CODE:

$a=10;
for($i=0;$i<=$a;$i++)
{echo$i.'<BR>';}
9. Ray Wen - 25 Июля, 2005 - 05:43:28 - перейти к сообщению
Bolat
Ну так и пиши... а потом доставай
CODE:
eval(file_get_contents('my_php.txt'))

file_get_contents достает содержимое одной строчкой, так что ни чего подготавливать не нужно будет, пиши как есть...
10. ETC - 25 Июля, 2005 - 05:43:32 - перейти к сообщению
php.txt:
CODE:
$a=10;
for($i=0;$i<=$a;$i++)
{echo $i.'<BR>';}

index.php:
CODE:

$fp = fopen("php.txt","r");
$code = fread($fp,filesize("php.txt"));
fclose($fp);
eval($code);

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0307]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33