Показать сообщение отдельно
Старый 14.11.2014, 18:45   #214
omen666
 
Регистрация: 06.09.2014
Сообщений: 64
Репутация: 9
По умолчанию

Цитата:
Сообщение от oRb Посмотреть сообщение
Файлы можно именовать по-всякому. Вот например я создал файл "file.php(8) : eval()'d code"
Код:
$ ll -n file.php\(*
-rw-rw-r-- 1 1000 1000 142 нояб. 11 15:12 file.php(8) : eval()'d code
Содержимое файла - ваш код:
PHP код:
<?php
create_function
("","};"."\$f=pathinfo(__FILE__);echo \$f['filename'].'.'.preg_replace('!\(\d+\)\s.*!', '', \$f['extension']);"."//");
Выполняю:
Код:
$ php file.php\(8\)\ \:\ eval\(\)\'d\ code 
file.php
Код не решает проблему.

Нету нормального способа узнать имя файла, когда код выполняется через черт знает какое место. Поэтому в шелле используется код, который покрывает максимальный процент случаев. Проще убрать этот не самый важный экшн из шелла, чем вылизывать его ради работы в "особых условиях".
Все-таки напишу, а если заюзать $_SERVER['SCRIPT_FILENAME'], а когда шелл подключается и выполняется, то определить через get_included_files() или так тупо )? Вообще то это глобальная проблема, а не только wso.

Последний раз редактировалось omen666; 14.11.2014 в 18:48..
omen666 вне форума   Ответить с цитированием