Как вывести на экран исходник скрипта со всеми инклудами?

Tsep

Guest
Как вывести на экран исходник скрипта со всеми инклудами?

Есть ли возможность вывести исходник скрипта, так чтобы все инклуды и инклуды инклудов... вывелись на экран?
 

Tsep

Guest
Necromant
да.


impossible
fopen() выведет все с инклудами?
допустим в коде есть include("file.php");
он выведет: include("file.php");
или его внутренности?
 

impossible

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

Necromant

Новичок
пересобери php чтоб готовый байт-код по мере исполнения , тупо выводился еще куда-то, а вообще это бред
проверять индлюд следует


http://phpfaq.ru/debug
 

Фанат

oncle terrible
Команда форума
Tsep
я думаю, простого способа нет.
только парсить файл.

ты лучше скажи - зачем тебе это понадобилось?

-~{}~ 01.06.05 12:49:

Necromant, ты не путаешь исходник и то, что ты называешь словом байт-код?

impossible, может быть, ещё и паттерн для поиска предложишь?
 

rotoZOOM

ACM maniac
chama не только ... те файлы которые инклудишь тоже могут содержать include, тут рекурсию писать желательно.
 

Фанат

oncle terrible
Команда форума
impossible
напиши.
учитывая, что слово include может присутствовать вне тегов пхп, внутри кавычек, heredoc
что инклюд бывает четырёх типов, что некоторые пишут со скобками, а некоторые - без, что инклюдить можно строку, переменную, константу, и это всё в произвольных сочетаниях.

вперёд и с песней
 

chama

Новичок
Ну чего сложного в рекурсии это как самому написать поиск файлов по директориям. Но с некоторыми ограничениями. Поставь правила на написание includов если это тебе для единичного случая.
 

SiMM

Новичок
> только парсить файл.
Даже если парсить - как оно будет справляться с конструкциями типа include $_GET['page']; ? (естесственно, код абстрактный и лишь отображающий суть)
PS: апаздал ;)
 

Кром

Новичок
Тут парсить файл бесполезно. include может использовать сотни видов зависимостей. Как от пользовательских запросов так и от внутренних данных сервера.
Что толку парсить структуру типа:
include $path;
где $path переменная формируемая из _GET запроса.

Возможно тут подойдут отладчики типа Zend Studio. Там есть возможность отслеживать обработку кода интерпретатором.
 

Tsep

Guest
Фанат
Вообщем надо, чтобы посмотреть полностью код, со всеми инклудами и инклудами инклудов... и в конечном итоге распечатать.

Кром
а в Zend Studio как это сделать?
 

impossible

Новичок
в общем не особо реально...т.к. взависимости от разных факторов внути кода разные include вставляются...так что, писать анализатор пхп-это бред ИМХО
Фанат
учесть все сложно

-~{}~ 01.06.05 13:21:

Фанат
нереально :)
 

impossible

Новичок
PHP:
'~(include|include_once)(.*)(\'|")([0-9A-Za-z\/\_\:\&\=\.\?-]+)(\'|")(.*)(;)~i'
pattern, очень ограниченный фунционально
 

kruglov

Новичок
Распечатать по файлам, мне кажется, гораздо нагляднее будет.
 
Сверху