Как узнать имя файла страницы?

MXM

Новичок
Как узнать имя файла страницы?

Всем привет!
Ситуация:
- делаю сайт из 3 страниц, на каждой странице имеется один и тот же скрипт:
PHP:
function clean_url($url) {
        $url[0] = '';
        return $url;
	}

$url = $_SERVER['PHP_SELF'];
$url = clean_url($url);

$url_index='index.php';
$url_news='news.php';
$url_contacts='contacts.php';

if($url==$url_index) echo '1' . '<br>'; else echo '0' . '<br>';
if($url==$url_news) echo '1' . '<br>'; else echo '0' . '<br>';
if($url==$url_contacts) echo '1' . '<br>'; else echo '0' . '<br>';
Соответсвенно, если открыть ссылку:
- index.php, то на странице должно быть выведено комбинация из трех цифр: 1 0 0.
- news.php, то на странице должно быть выведено комбинация из трех цифр: 0 1 0.
- contacts.php, то на странице должно быть выведено комбинация из трех цифр: 0 0 1.
К сожалению, у меня не получается так сделать, в чем ошибка не могу понять ведь вроде всё сделал правильно, имхо, но раз не работает, значит где-то что-то не так.
Заранее спасибо за помощь!
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
MXM
1. цель ф-ции clean_url?
2. что у нас хранится в $_SERVER['PHP_SELF']?
3. короче пхпинфо и http://www.phpfaq.ru/debug
 

Фанат

oncle terrible
Команда форума
вопрос, конечно, гениальный

-~{}~ 17.08.07 22:19:

MXM
я вот одного не могу понять.
скажи, тебе мысль сделать echo $url - она что - СОВСЕМ не приходила в голову?
 

MXM

Новичок
Mr_Max, *****, мысль сделать echo $url приходила и даже была применена на практике что дало следующий результат: выводиться следующее на соответсвующей странице:
- /index.php
- /news.php
- /contacts.php
Т.е. в самом начале прописывается слэш - "/", чтобы его убрать я написал простенькую функцию, цель которой заменить слэш на пустой символ, не пробел.
Mr_Max, на 1 пункт ответ выше, на 2 в $_SERVER['PHP_SELF'] хранится имя открываемого файла, на 3 сижу сейчас листаю.

-~{}~ 18.08.07 10:12:

Итак, проблему решил, при таком коде все работает отлично:
PHP:
$root_path = '.';
$root_path_1 = '/';
$url = $_SERVER['PHP_SELF']; 

$url_index = $root_path_1 . 'index.php';
$url_news = $root_path_1 . 'news.php';
$url_contacts = $root_path_1 . 'contacts.php';

if($url==$url_index) echo '1' . '<br>'; else echo '0' . '<br>'; 
if($url==$url_news) echo '1' . '<br>'; else echo '0' . '<br>'; 
if($url==$url_contacts) echo '1' . '<br>'; else echo '0' . '<br>';
Но хотелось бы разобраться с предыдущим кодом, у кого есть какие мысли?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
MXM
Вот Вы подумайте, и изложите нам в письменном виде. Это раз

Неужели нельзя было просто добавить /?
$url_index='/index.php';
Это два.

Приобретите нормальную книгу по ПХП.
Перечитайте все разделы www.phpfaq.ru.

А на такое вопросы в форуме обычно отвечают 1-м постом -
http://www.phpfaq.ru/debug/
 

Krishna

Продался Java
У человека, судя по решаемой им задаче, по-моему, вообще грандиозные проблемы с пониманием основ архитектуры Web приложений.

Например, стоит наверное ему намекнуть, что включаемый скрипт проще оформить в виде функции, и передавать ей параметр с основной страницы, а не внутри включаемого скрипта догадываться кто нас вызвал.
 
Сверху