Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Преобразование функции в переменную
Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Ни как не могу дойти сам, каким образом можно преобразовать функцию в переменную,
например вот такой вот код:
<?php
$file= "2";
function rte()
{
global $file;
print "$file";
}
rte();
?>
И чтобы в конце rte() стала переменной $file2. Спасибо.
alexspb
Отправлено: 24 Мая, 2010 - 08:43:09
Посетитель
Покинул форум
Сообщений всего: 260
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Sergei88, вопрос сформулирован очень коряво, непонятно про что
может, про возвращение значения?
тогда в функции используете return $file;
опишите, какую задачу решаете
----- Хостинг - неограниченно доменов на одну папку Ajax - отличное введение
Sergei88
Отправлено: 24 Мая, 2010 - 09:17:48
Новичок
Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2010
Все замечательно срабатывает. Все содержание из 67.txt копируется в 68.txt .
Проблема в том, что текст 67.txt так же генерируется через php скрипт. Поэтому копируется из 67.txt в 68.txt именно код этого php скрипта, а мне необходим конечный результат этого скрипта - обычный текст, так как он выглядит в браузере.
Поэтому, я предположил, что можно как-то попробовать вырвать этот кусок текста через функцию. Сначала так:
Покинул форум
Сообщений всего: 157
Дата рег-ции: Янв. 2009 Откуда: Албания
Помог: 0 раз(а)
Цитата:
Проблема в том, что текст 67.txt так же генерируется через php скрипт. Поэтому копируется из 67.txt в 68.txt именно код этого php скрипта, а мне необходим конечный результат этого скрипта - обычный текст, так как он выглядит в браузере.
Если правельно понял то это eval() (смотреть документацию php)
Это то что я понял. Что вообще надо - понятно не до конца. Вам нужно выполнить код заключенный в переменную (взятый из файла), то тогда eval()... если нет, то понятней изъясняйтесь.
alexspb
Отправлено: 24 Мая, 2010 - 09:47:47
Посетитель
Покинул форум
Сообщений всего: 260
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Sergei88 пишет:
Все замечательно срабатывает. Все содержание из 67.txt копируется в 68.txt .
Проблема в том, что текст 67.txt так же генерируется через php скрипт. Поэтому копируется из 67.txt в 68.txt именно код этого php скрипта, а мне необходим конечный результат этого скрипта - обычный текст, так как он выглядит в браузере.
Вы явно не в том направлении думаете, смысл выполняемых операция непонятен и похоже на изобретение велосипеда
1) копировать зачем? ну а если нужно - copy()
2) почему не скопировать в 67.php а затем include()
и т.п.
----- Хостинг - неограниченно доменов на одну папку Ajax - отличное введение
JustUserR
Отправлено: 24 Мая, 2010 - 15:17:52
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Sergei88 пишет:
Ни как не могу дойти сам, каким образом можно преобразовать функцию в переменную
Понятно то есть вы генерируете определенный PHP-код на основе шаблонного файла и потом хотите исполнить его Конечно подключать сгенерированный PHP-код просто так нельзя поскольку предыдущий PHP-код не сможет его контролировтаь и переключаться с ним - и например если вы включите в основном PHP-коде буферазацию то подключаемый PHP-код может ее спокойно выключить Таким образом вам требуется проанализировать подключаемый PHP-код и преобразовать его в функция которая будет согласанована с основой программой - то есть вы считываете шаблонный файл потом делаете в нем определенную замену и подстановку - после чего анализируете код и разбиваете его на функции которые будете создавать с помощью create_function Кстати перед преобразование PHP-кода в исполняемый вид можете проверить его на синтаксическую правильность с помощью http://php.su/functions/?runkit-lint
А если вам требуется просто работа с динамическими функциями и их изменение во время выполнения PHP-скрипта - то смотрите вот эту группу функций http://php.su/functions/?cat=runkit которая в том числе позволяет напрямую преобразовать функцию в переменную
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.