импортировать все переменные данных из файла php без его рендеринга - PullRequest
1 голос
/ 13 января 2010

Я хочу импортировать все переменные данных из файла php. но если я напишу: include 'user.php';

загружает этот php-файл вместо текущего. какие решения?

Ответы [ 5 ]

4 голосов
/ 13 января 2010

Если вы хорошо выполняете его, но хотите подавить вывод, вы можете использовать output_buffering, см. ob_start () и связанные с ним функции.

Но в целом это звучит как очень плохой дизайн, и вместо этого его следует переработать / очистить.

4 голосов
/ 13 января 2010
ob_start();
include 'user.php';
ob_end_clean();

// use any variable defined in user.php
1 голос
/ 13 января 2010

Ты имеешь в виду, что PHP-файл запускается?

Боюсь, этого не избежать.Если вы хотите извлечь только значения переменных из файла, вам придется либо удалить ненужные команды из файла, либо проанализировать значения данных из него.

0 голосов
/ 13 января 2010

Я бы взял часть «выполнение» (как вы ее называете) или непечатаемую часть скрипта, который вы хотите использовать повторно (назовем его «display2»), и поместил бы его в отдельный файл php («файл сценария») , Затем вы можете ссылаться на этот второй сценарий как с "display2", так и с вашей новой страницы.
Прокомментируйте, если вам нужно разъяснение.

0 голосов
/ 13 января 2010

Я не совсем уверен, что вы спрашиваете, но вот ваши варианты.

Вы можете написать парсер PHP с PHP, используя расширение Tokenizer , но это было бы сумасшествием.

Если вы просто хотите сопоставить имена переменных, вы можете использовать следующее регулярное выражение вместе с preg_match_all() и file_get_contents():

\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

Другой вариант - использовать функции буферизации вывода .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...