Forum Webscript.Ru

Программирование => PHP => Тема начата: qik от 11 Мая 2004, 16:20:24

Название: как эффективно получить имя скрипта?
Отправлено: qik от 11 Мая 2004, 16:20:24
типа "имя.расширение", я думаю, что конечно же через переменные окружения, но там такой нет (чтоб просто было "имя.расширение") а только с "путем", так вот, конечно, можно написать регулярку, которая отрежет все, что перед последним слешем (включая и его), но в регулярках я не силен, поэтому может есть какой-то другой способ?
Название: как эффективно получить имя скрипта?
Отправлено: tserbis от 11 Мая 2004, 16:29:22
Без регулярок. Найти в $_SERVER[\'PHP_SELF\'] строковыми ф-ями последний / и взять всё после него.
Название: как эффективно получить имя скрипта?
Отправлено: Макс от 11 Мая 2004, 16:38:50
basename($_SERVER[\'PHP_SELF\']);
Название: как эффективно получить имя скрипта?
Отправлено: qik от 11 Мая 2004, 16:45:24
tserbis
Макс
спасибо за оперативный ответ.

а ведь $_SERVER[\'PHP_SELF\'] не единственная переменная которая дает путь до файла... чем плохи SCRIPT_NAME, SCRIPT_NAME, REQUEST_URI и пр.?
Название: как эффективно получить имя скрипта?
Отправлено: tserbis от 11 Мая 2004, 17:12:36
SCRIPT_NAME точно не подходит:
на одном из хостингов, например, - /root-cgi-bin/php_.

А в REQUEST_URI есть GET-параметры...
Название: как эффективно получить имя скрипта?
Отправлено: qik от 11 Мая 2004, 17:16:35
мммм..., ага вроде есть.
Название: как эффективно получить имя скрипта?
Отправлено: FreeSpace от 12 Мая 2004, 05:09:04
Ещё в некоторых случаях удобно использовать специальную "константу" __FILE__
Название: как эффективно получить имя скрипта?
Отправлено: qik от 12 Мая 2004, 19:25:41
FreeSpace
а она чем отличается?
Название: как эффективно получить имя скрипта?
Отправлено: FreeSpace от 12 Мая 2004, 20:42:05
qik
Она меняет своё значение в зависимости от того, в каком файле она находится.
Например, если пользователь запросил файл index.php, который инклюдит файл config.php, то внутри config.php все вышеперечисленные параметры будут указывать на запрошенный файл - index.php. И только __FILE__ будет указывать на путь к config.php.
Эту особенность в основном используют для обработки ошибок (на пару с псевдо-константой __LINE__, в которой указан номер текущей строки), но не только для этого.
Название: как эффективно получить имя скрипта?
Отправлено: qik от 13 Мая 2004, 19:45:00
во как!, спасибо...
Название: как эффективно получить имя скрипта?
Отправлено: qik от 15 Мая 2004, 19:24:06
FreeSpace
трабла в том что у меня домен третьего уровня, и $_SERVER[\'PHP_SELF\'] показывает не то что нужно, а $__FILE__ вообще не работает.
Название: как эффективно получить имя скрипта?
Отправлено: ThE0ReTiC от 15 Мая 2004, 19:34:06
qik
ты вообще когда научишься не только документацию читать.
__FILE__ - КОНСТАНТА
Цитировать
qik:
$__FILE__

ПЕРЕМЕННАЯ
суть абсолютно не одно и тоже...
Название: как эффективно получить имя скрипта?
Отправлено: Меняздесьдавнонет от 15 Мая 2004, 19:38:04
Цитировать
qik:
трабла в том что у меня домен третьего уровня

"трабла" не в домене, а в криворуком админе
Название: как эффективно получить имя скрипта?
Отправлено: qik от 15 Мая 2004, 20:19:07
ThE0ReTiC
а как получить ее значение?
RomikChef
то есть не я виноват, и то радует...
Название: как эффективно получить имя скрипта?
Отправлено: FreeSpace от 15 Мая 2004, 22:40:18
Цитировать
qik:
а как получить ее значение?

По-моему это описывается в первых главах любой книги по программированию.
echo __FILE__;
echo constant(\'__FILE__\'); // для особых случаев/извращенцев
Название: как эффективно получить имя скрипта?
Отправлено: qik от 16 Мая 2004, 16:13:11
ok сенкс