Необходимые переменные
Следующие суперглобальные переменные необходимы для определения URL-адреса текущей страницы.
Суперглобальные переменные | Цели |
---|---|
$ _SERVER [‘HTTPS’] | Он возвращается на если в URL текущей страницы используется протокол HTTPS. |
$ _SERVER [‘HTTP_HOST’] | Возвращает имя сервера текущей страницы. |
$ _SERVER [‘REQUEST_URI’] | Возвращает запрошенное имя ресурса. |
$ _SERVER [‘SERVER_PORT’] | Возвращает номер порта сервера. |
$ _SERVER [‘QUERY_STRING’] | Он возвращает значение строки запроса, если оно существует в URL-адресе текущей страницы. |
Пример 1. Отображение URL-адреса текущей страницы с помощью условного оператора.
В следующем примере показано, как можно использовать условный оператор для получения протокола, используемого в URL-адресе текущей страницы. Создайте файл PHP со следующим скриптом.
Значение $ _SERVER [‘HTTP_HOST’] используется для получения доменного имени текущего URL. Значение $ _SERVER [‘REQUEST_URI’] используется для получения имени запрошенного ресурса. ушел) функция используется, чтобы проверить, установлен ли $ _SERVER [‘HTTPS’] или нет, и если он установлен, то проверьте значение $ _SERVER [‘HTTPS’], является ли оно на или не. Затем значения этих трех переменных объединяются с «//:» для получения полного URL-адреса текущей страницы.
// Считываем доменное имя текущей страницы
$ домен знак равно $ _SERVER[HTTP_HOST];
// Читаем запрошенный ресурс
$ ресурс знак равно $ _SERVER['REQUEST_URI'];
// Узнаем протокол текущего url
если( ушел ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'на')
$ протокол знак равно https;
еще
$ протокол знак равно 'http';
// Объединяем все части, чтобы получить полный URL-адрес
$ url знак равно $ протокол.': //'.$ домен.$ ресурс;
// Распечатываем URL-адрес текущей страницы
выбросил '
URL-адрес текущего
страница:
'. $ url;?> Выход:
Следующий вывод появится после запуска сценария с сервера. Значение $ _SERVER [‘HTTPS’] не равно на для локального сервера. Таким образом, вывод показывает http протокол для текущего URL.
Пример 2: отображение URL-адреса текущей страницы с помощью тернарного оператора
В следующем примере показан способ получения полного URL-адреса текущей страницы с помощью тернарного оператора. Создайте файл PHP со следующим скриптом.
Если условие используется в предыдущем примере, чтобы узнать, какой протокол используется в URL-адресе текущей страницы. Та же задача выполняется с помощью тернарного оператора в этом скрипте. ушел) функция используется, чтобы проверить, установлен ли $ _SERVER [‘HTTPS’] или нет, и если значение $ _SERVER [‘HTTPS’] на, тогда тернарный оператор вернет HTTPS, иначе он вернет HTTP. Остальные части URL-адреса извлекаются и печатаются, как в предыдущем примере.
// Узнаем протокол текущего url
$ протокол знак равно ( ушел ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'на'?https : 'http');
// Считываем доменное имя текущей страницы
$ домен знак равно $ _SERVER[HTTP_HOST];
// Читаем запрошенный ресурс
$ ресурс знак равно $ _SERVER['REQUEST_URI'];
// Объединяем все части, чтобы получить полный URL-адрес
$ url знак равно $ протокол.': //'.$ домен.$ ресурс;
// Распечатываем URL-адрес текущей страницы
выбросил '
URL-адрес текущей страницы:
'. $ url;?>
Выход:
Следующий вывод появится после запуска сценария с сервера. Значение $ _SERVER [‘HTTPS’] не равно на для локального сервера. Таким образом, выходные данные показывают протокол HTTP для текущего URL-адреса.
Пример 3: Отображение URL-адреса текущей страницы на основе номера порта
В двух предыдущих примерах значение $ _SERVER [‘HTTPS’] используется для определения протокола текущего URL-адреса страницы, и для URL-адреса не используется строка запроса. В следующем примере показано, как можно использовать переменную $ _SERVER [‘SERVER_PORT’] для определения протокола и получения полного URL-адреса со строкой запроса. Создайте файл PHP со следующим скриптом.
Здесь несколько логических условий и тернарный оператор используются для определения протокола. Если значение $ _SERVER [‘HTTPS’] пустое или установлено на выключенный, затем он проверит значение $ _SERVER [‘SERVER_PORT’], чтобы узнать протокол текущего URL. Переменная $ _SERVER [‘QUERY_STRING’] используется для извлечения значения строки запроса из URL.
// Узнаем протокол текущего url
$ протокол знак равно ((! пустой ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
знак равно 'выключенный') || $ _SERVER['ПОРТ СЕРВЕРА'] == 443)?https: // : 'http: //';
// Считываем доменное имя текущей страницы
$ домен знак равно $ _SERVER[HTTP_HOST];
// Читаем запрошенный ресурс
$ ресурс знак равно $ _SERVER['REQUEST_URI'];
// Считываем значение строки запроса
$ запрос знак равно $ _SERVER['СТРОКА ЗАПРОСА'];
// Объединяем все части, чтобы получить полный URL-адрес
$ url знак равно $ протокол.$ домен.$ ресурс;
// Распечатываем URL-адрес текущей страницы
выбросил '
Полный URL-адрес текущей страницы:
'. $ url;// Распечатываем часть строки запроса
выбросил '
Строка запроса:
'. $ запрос;?>
Выход:
Следующий вывод появится после выполнения вышеуказанного скрипта с сервера без какой-либо строки запроса. В URL-адресе нет строки запроса. Таким образом, на выходе отображается пустая строка запроса.
Следующий вывод появится после выполнения вышеуказанного сценария с сервера со строкой запроса. Следующий вывод показывает URL-адрес со строкой запроса и строкой запроса отдельно.
Заключение
В этом руководстве на различных примерах показаны различные способы получения полного URL-адреса текущей страницы. В этом руководстве также показан способ разделения URL-адреса и строки запроса. Надеюсь, это руководство поможет читателям узнать, как читать полный URL-адрес текущей страницы с помощью сценария PHP.