PHP - Корневая директория сайта

Статья, в которой рассмотрим как в php получить путь до корня сайта. Кроме того познакомимся с тем, чем отличается абсолютный путь в PHP и HTML.

Корень (слэш) в HTML и PHP

PHP в отличие от HTML видит файловую систему глубже. В HTML корнем сайта является некоторая директория, которая определяется настройками веб-сервера. Т.е. это определённый каталог в файловой системе, начиная с которого размещаются документы (файлы) этого сайта.

Например, в HTML путь к изображению image1.jpg, которое расположено в каталоге images относительно корня сайта будет иметь следующий вид:

/images/image1.jpg

В php слэш (/) обозначает корень файловой системы, а не корень сайта.

Т.е. такая запись в php будет означать, что файл image1.jpg расположен в директории images, которая находится в корне файловой системы.

/images/image1.jpg

Чтобы к этому файлу добраться из php необходимо будет проделать более длинный путь. Т.е. сначала добраться до корня сайта (некоторой директории), а потом от него до нужного файла.

Например, на хостинге (в зависимости от хостинга путь до корня сайта может отличаться) путь к файлу будет следующим:

/home/m/mysiteru/public_html/images/image1.jpg

PHP - Абсолютный путь до файла

Например, путь к файлу сайта, который работает на веб-сервере Apache (сборка Денвер) в операционной системе Windows будет следующим:

Z:/home/mysite.ru/www/images/image1.jpg

PHP - Корень сайта

Получить корневую папку сайта в скрипте php можно используя преопределённый (глобальный) массив $_SERVER:

$_SERVER['DOCUMENT_ROOT']

PHP - Как получить корень сайта

Чтобы посмотреть путь к корневому каталогу достаточно создать любой php файл и поместить в него следующее содержимое:

<?php
// вывести корень сайта
echo $_SERVER['DOCUMENT_ROOT'];
?>

Абсолютный путь обычно пменяют тогда, когда вы не знаете местоположение файлов относительно скрипта, в котором вы их используете.

Например, скопируем файл image1.jpg, расположенный в корне сайта, в каталог images (/assets/images - путь от корня сайта):

<?php
// получить корень сайта
$root = $_SERVER['DOCUMENT_ROOT'];
//скопировать файл image1.png в папку images, расположенную в корне сайта
copy($root.'/image1.jpg', $root.'/assets/images/image1.jpg');
}
?>


   PHP 0    847 0

Комментарии (0)

    Вы должны авторизоваться, чтобы оставлять комментарии.