Как определить текущий url сайта и директории исполняющего файла в php

Как определить текущий url сайта и директории исполняющего файла в php

3123123

Если вы программируете на php, то вам обязательно придется столкнуться с такими понятиями , как относительные и абсолютные ссылки, директории скриптов и т.п.

Начнем с простого, а именно определения текущей страницы сайта.

Сделать это можно с помощью элемента супермассива: $_SERVER['REQUEST_URI']. Пример: echo $_SERVER['REQUEST_URI']; - выдаст ссылку текущей страницы сразу после домена со всеми GET параметрами, если они есть.

При методах include или require в php появляется необходимость использовать либо относительные пути директорий, либо абсолютные. Первые задаются относительно папки исполняющего скрипта. Например, есть файл index.php в папке sait. Нам нужно инклудить файл msg.php, который находится в этой же папке - тогда мы будем использовать команду include('msg.php'); Если бы msg.php находился в папке выше, то include('../msg.php');

Что касается абсолютных путей, то они должны идти от корневой папки сервера. Чтобы правильно подключить файл на include используйте следующую конструкцию:

include($_SERVER['DOCUMENT_ROOT'].'/sait/msg.php');

Здесь $_SERVER['DOCUMENT_ROOT'] подключит путь от корневой папки сервера (например: /var/www/u010381422/data/www/вашсайт.ру), а /sait/msg.php - часть ссылки, которую мы можем доподключить вручную.

Если подключения от корневой директории нужно производить часто, то рекомендую использовать константу:

define('ROOT', $_SERVER['DOCUMENT_ROOT']);
include(ROOT."/sait/msg.php");

Константы __FILE__ и __DIR__ в php

__FILE__ Вы можете использовать полезную константу __FILE__ для определения полного пути от сервера к вашему исполняющему файлу с выводом его имени и расширением. Например, если в нашем примере мы напишем echo __FILE__; - то получим полный путь к файлу, от которого запущена эта команда: /var/www/u010381422/data/www/вашсайт.ру/sait/msg.php (естественно, у вас будет другой путь директории).

__DIR__ В отличие от __FILE__ константа __DIR__ показывает только директорию исполняющего файла без его имени. Например: echo __DIR__; (выведет: /var/www/u010381422/data/www/вашсайт.ру/sait)

Если подвести итог, то создайте любой php файл и разместить в нем код:
<?php
echo $_SERVER['REQUEST_URI']; echo '<br>'; //Текущая ссылка файла
echo __FILE__; echo '<br>'; //Полный путь и имя текущего файла - /var/www/u010381422/data/www/вашсайт.ру/sait/msg.php
echo __DIR__; echo '<br>'; //Директория файла (эквивалент: dirname(__FILE__) ) - /var/www/u010381422/data/www/вашсайт.ру/sait
?>

После запуска такого файла, вы увидите все параметры индивидуальные для вашего сервера.

| | Как определить текущий url сайта и директории исполняющего файла в php | Если вы программируете на php, то вам обязательно придется столкнуться с такими понятиями , как относительные и абсолютные ссылки, директории скриптов | http://blogprogram.ru/wp-content/uploads/2016/09/3123123-131x131.jpg