2009-11-23 1 views
0

Я пытаюсь получить URL-адрес от функции, которую я написал. Но поскольку функция включена в файл, она возвращает путь включения, а не URL-адрес. Есть ли работа?запрос uri показывает путь

я должен получить /example.php, но вместо этого я получаю включает/URL-logger.php

это делается через $ _SERVER [ 'REQUEST_URI']

веселит

+1

Примеры строки, которые вы получаете, и строка, которую вы ожидаете, будут чрезвычайно полезны. ;-) Идеально вместе с кодом, который его производит. – Tomalak

+0

ive попробовал просто сделать это – johnsz

ответ

0

Я не конечно, что вы имеете в виду, но, возможно, echo $_SERVER['SCRIPT_FILENAME'] и echo __FILE__ помогут?

+0

У меня есть url; http://www.example.com/example.php Мне нужна часть /example.php, но поскольку say includes/logvisit.php включает в себя примеры.php, а не получение examples.php назад, я получаю include/logvisit.php ... это тоже на request_uri – johnsz

1

Вам понадобится специальный __FILE__ внутри файла PHP, в котором вы хотите указать имя. Это даст вам путь полный сервер (например, что-то вроде /var/www/sitename/file.php) так, чтобы получить URL, вам нужно сделать что-то вроде этого:

$path = str_replace($_SERVER['DOCUMENT_ROOT'], '', __FILE__); 
$url = 'http://' . $_SERVER['HTTP_HOST'] . $path; 

(NB вам может понадобиться дополнительный слеш где-то ...)

EDIT: на основе комментария к другому ответу вам может понадобиться только $_SERVER['PHP_SELF'], это сложно сказать.