Главная PHP-Примеры

PHP - Примеры

Как в PHP получить корневую директорию
(путь до корня сайта)

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

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

/images/image1.jpg

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

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

Абсолютный путь в PHP воспринимается как абсолютный путь от директории, в которой установлен веб-сервер. Данный путь можно получить из:

$_SERVER['DOCUMENT_ROOT']  // возвращает корневую папку 

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

1
<?php
// вывести путь к файлу index.php
$root = $_SERVER['DOCUMENT_ROOT'];
echo "$root/index.php";
?>

Получен реэультат для данного сайта:
/home/mooseum/arbuzova.mooseum.ru/docs/index.php

Здсь: /home/mooseum/arbuzova.mooseum.ru/docs
- это абсолютный путь к файлу index.php

 

Пример-2 для вставки файла "подвал" в разные страницы сайта:

2
<?php
$root = $_SERVER['DOCUMENT_ROOT'];
require "$root/bloku/footer.php";
?>

или так:
<?php
require ($_SERVER['DOCUMENT_ROOT'].'/bloku/footer.php');
?>
Такая запись заменяет:
<?php require "../../../../bloku/footer.php";?>
Не нужно считать (../../../../../), т.к. страницы сайта располагаются где угодно.

 

Пример-3 для копиравания файла map.php из корня сайта
в директорию rubrika/05/ с новым именем map_new.php:

3
<?php
$root = $_SERVER['DOCUMENT_ROOT'];
copy($root.'/map.php', $root.'/rubrika/05/map_new.php');
?>