Forum Webscript.Ru
Программирование => PHP => Тема начата: qik от 11 Мая 2004, 16:20:24
-
типа "имя.расширение", я думаю, что конечно же через переменные окружения, но там такой нет (чтоб просто было "имя.расширение") а только с "путем", так вот, конечно, можно написать регулярку, которая отрежет все, что перед последним слешем (включая и его), но в регулярках я не силен, поэтому может есть какой-то другой способ?
-
Без регулярок. Найти в $_SERVER[\'PHP_SELF\'] строковыми ф-ями последний / и взять всё после него.
-
basename($_SERVER[\'PHP_SELF\']);
-
tserbis
Макс
спасибо за оперативный ответ.
а ведь $_SERVER[\'PHP_SELF\'] не единственная переменная которая дает путь до файла... чем плохи SCRIPT_NAME, SCRIPT_NAME, REQUEST_URI и пр.?
-
SCRIPT_NAME точно не подходит:
на одном из хостингов, например, - /root-cgi-bin/php_.
А в REQUEST_URI есть GET-параметры...
-
мммм..., ага вроде есть.
-
Ещё в некоторых случаях удобно использовать специальную "константу" __FILE__
-
FreeSpace
а она чем отличается?
-
qik
Она меняет своё значение в зависимости от того, в каком файле она находится.
Например, если пользователь запросил файл index.php, который инклюдит файл config.php, то внутри config.php все вышеперечисленные параметры будут указывать на запрошенный файл - index.php. И только __FILE__ будет указывать на путь к config.php.
Эту особенность в основном используют для обработки ошибок (на пару с псевдо-константой __LINE__, в которой указан номер текущей строки), но не только для этого.
-
во как!, спасибо...
-
FreeSpace
трабла в том что у меня домен третьего уровня, и $_SERVER[\'PHP_SELF\'] показывает не то что нужно, а $__FILE__ вообще не работает.
-
qik
ты вообще когда научишься не только документацию читать.
__FILE__ - КОНСТАНТА
qik:
$__FILE__
ПЕРЕМЕННАЯ
суть абсолютно не одно и тоже...
-
qik:
трабла в том что у меня домен третьего уровня
"трабла" не в домене, а в криворуком админе
-
ThE0ReTiC
а как получить ее значение?
RomikChef
то есть не я виноват, и то радует...
-
qik:
а как получить ее значение?
По-моему это описывается в первых главах любой книги по программированию.
echo __FILE__;
echo constant(\'__FILE__\'); // для особых случаев/извращенцев
-
ok сенкс