От автора: в связи с развитием Сети появился новый синдром, который называется интернет-амнезия. Он проявляется, если пользователь долго «плавает» во всемирной паутине. А потом внезапно теряется и не может понять, где он очутился. Хорошо, что в браузере есть адресная строка, в которой указывается ваше местоположение. Но как быть веб-разработчикам, если их вдруг настиг приступ интернет-амнезии? Сегодня мы научимся определять страницу с помощью PHP.
Как не заблудиться
Ну, на самом деле узнать имя страницы или выполняемого скрипта может понадобиться при реализации различных программных решений. Например, для запуска дополнительного функционала или налаживания корректного отображения иерархии страниц ресурса. В общем, это востребовано.
После получения названия страницы можно смело его использовать в коде в качестве условия цикла. Чаще всего для этого применяется глобальный массив $_SERVER. Он заполняется на стороне сервера. Значения элементов массива содержат в себе информацию о заголовках, выполняемых скриптах, их месте расположения в файловой системе сервера и имена программных файлов.
Самый распространенный вариант, как определить страницу PHP:
1 2 3 4 5 |
<?php echo $_SERVER['REQUEST_URI']; ?> |
В этом примере мы использовали значение элемента массива REQUEST_URI, который содержит идентификатор ресурса (URI), переданный серверу. Если запустить эту строку кода на основной странице, то получим обратно только правый слэш. Доказательства:
Но можно немного модифицировать этот пример, добавив конструкцию if. Тогда в PHP определять главную страницу будет намного легче.
1 2 3 4 5 6 7 8 9 10 11 |
<?php if ($_SERVER['REQUEST_URI'] == '/') { echo "Home pag"."<br />"; } else { echo "Is not home page"."<br />"; } ?> |
Другие варианты
Также с помощью $_SERVER мы можем получить имя скрипта, выполняемого на странице. Для этого предназначен элемент PHP_SELF. Пример реализации:
1 2 3 |
<?php echo $_SERVER['PHP_SELF']."<br />"; ?> |
С помощью PHP определить текущую страницу у нас получилось, но это слэш немного меня раздражает. Избавимся от него:
1 2 3 |
<?php echo substr($_SERVER['PHP_SELF'],1)."<br />"; ?> |
Кроме этого «вытянуть» имя текущего файла и путь к нему позволяет одна из предопределенных констант — __FILE__. Пример ее использования:
Ну а в конце хотелось бы продемонстрировать пример PHP редиректа для определенной страницы. Тут мы снова используем глобальный массив $_SERVER и его элемент REQUEST_URI. Наслаждаемся простотой реализации (всего несколько строк кода) :).
1 2 3 4 5 |
<?php if( $_SERVER['REQUEST_URI'] == '/chernovik.php' ){ header("Location: //localhost/test3.php"); } ?> |
Надеюсь, вы взяли «на заметку» все рассмотренные в этой статье антидоты против интернет-амнезии. А вообще улучшить память помогают орехи. Особенно, когда получаешь «на орехи» от начальства, если забудете что-то важное :).