Автор Тема: как эффективно получить имя скрипта?  (Прочитано 6991 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн qik

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 265
  • +0/-0
  • 0
    • Просмотр профиля
    • http://zapostil.ru/
типа "имя.расширение", я думаю, что конечно же через переменные окружения, но там такой нет (чтоб просто было "имя.расширение") а только с "путем", так вот, конечно, можно написать регулярку, которая отрежет все, что перед последним слешем (включая и его), но в регулярках я не силен, поэтому может есть какой-то другой способ?

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
как эффективно получить имя скрипта?
« Ответ #1 : 11 Мая 2004, 16:29:22 »
Без регулярок. Найти в $_SERVER[\'PHP_SELF\'] строковыми ф-ями последний / и взять всё после него.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
как эффективно получить имя скрипта?
« Ответ #2 : 11 Мая 2004, 16:38:50 »
basename($_SERVER[\'PHP_SELF\']);
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн qik

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 265
  • +0/-0
  • 0
    • Просмотр профиля
    • http://zapostil.ru/
как эффективно получить имя скрипта?
« Ответ #3 : 11 Мая 2004, 16:45:24 »
tserbis
Макс
спасибо за оперативный ответ.

а ведь $_SERVER[\'PHP_SELF\'] не единственная переменная которая дает путь до файла... чем плохи SCRIPT_NAME, SCRIPT_NAME, REQUEST_URI и пр.?

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
как эффективно получить имя скрипта?
« Ответ #4 : 11 Мая 2004, 17:12:36 »
SCRIPT_NAME точно не подходит:
на одном из хостингов, например, - /root-cgi-bin/php_.

А в REQUEST_URI есть GET-параметры...

Оффлайн qik

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 265
  • +0/-0
  • 0
    • Просмотр профиля
    • http://zapostil.ru/
как эффективно получить имя скрипта?
« Ответ #5 : 11 Мая 2004, 17:16:35 »
мммм..., ага вроде есть.

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
как эффективно получить имя скрипта?
« Ответ #6 : 12 Мая 2004, 05:09:04 »
Ещё в некоторых случаях удобно использовать специальную "константу" __FILE__
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн qik

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 265
  • +0/-0
  • 0
    • Просмотр профиля
    • http://zapostil.ru/
как эффективно получить имя скрипта?
« Ответ #7 : 12 Мая 2004, 19:25:41 »
FreeSpace
а она чем отличается?

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
как эффективно получить имя скрипта?
« Ответ #8 : 12 Мая 2004, 20:42:05 »
qik
Она меняет своё значение в зависимости от того, в каком файле она находится.
Например, если пользователь запросил файл index.php, который инклюдит файл config.php, то внутри config.php все вышеперечисленные параметры будут указывать на запрошенный файл - index.php. И только __FILE__ будет указывать на путь к config.php.
Эту особенность в основном используют для обработки ошибок (на пару с псевдо-константой __LINE__, в которой указан номер текущей строки), но не только для этого.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн qik

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 265
  • +0/-0
  • 0
    • Просмотр профиля
    • http://zapostil.ru/
как эффективно получить имя скрипта?
« Ответ #9 : 13 Мая 2004, 19:45:00 »
во как!, спасибо...

Оффлайн qik

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 265
  • +0/-0
  • 0
    • Просмотр профиля
    • http://zapostil.ru/
как эффективно получить имя скрипта?
« Ответ #10 : 15 Мая 2004, 19:24:06 »
FreeSpace
трабла в том что у меня домен третьего уровня, и $_SERVER[\'PHP_SELF\'] показывает не то что нужно, а $__FILE__ вообще не работает.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
как эффективно получить имя скрипта?
« Ответ #11 : 15 Мая 2004, 19:34:06 »
qik
ты вообще когда научишься не только документацию читать.
__FILE__ - КОНСТАНТА
Цитировать
qik:
$__FILE__

ПЕРЕМЕННАЯ
суть абсолютно не одно и тоже...
AS IS...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как эффективно получить имя скрипта?
« Ответ #12 : 15 Мая 2004, 19:38:04 »
Цитировать
qik:
трабла в том что у меня домен третьего уровня

"трабла" не в домене, а в криворуком админе

Оффлайн qik

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 265
  • +0/-0
  • 0
    • Просмотр профиля
    • http://zapostil.ru/
как эффективно получить имя скрипта?
« Ответ #13 : 15 Мая 2004, 20:19:07 »
ThE0ReTiC
а как получить ее значение?
RomikChef
то есть не я виноват, и то радует...

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
как эффективно получить имя скрипта?
« Ответ #14 : 15 Мая 2004, 22:40:18 »
Цитировать
qik:
а как получить ее значение?

По-моему это описывается в первых главах любой книги по программированию.
echo __FILE__;
echo 
constant(\'__FILE__\'); // для особых случаев/извращенцев
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28