путь относительно корня документа в PHP

Привет, я использую XAMPP для локального размещения сайта.

DocumentRoot выглядит следующим образом: DocumentRoot "D:/xampp/htdocs" siteDir находится в папке htdocs, а под ним находится папка php.

Я пытаюсь использовать php fopen с файлом относительно корня сайта (D:/xampp/htdocs/site) следующим образом: $log = fopen("/log.log", "a") однако это создает файл log.log в D:/log.log

Любые идеи, почему это создается в D: / (я бы ожидал, что / будет относительным веб-корнем)

Огромное спасибо


person Aly    schedule 18.12.2010    source источник


Ответы (2)


вы использовали абсолютный путь в своем коде, поэтому PHP действует правильно.

напишите простой код и посмотрите на переменную $_SERVER:

<?php
echo '<xmp>';
print_r($_SERVER);
echo '</xmp>';
?>

вы найдете подходящий ключ для использования в вашем коде. до log.log

в моем случае это будет так:

<?php

$sRoot = $_SERVER['DOCUMENT_ROOT'];

$fp = fopen($sRoot . '/log.log', 'w');

?>
person Alexar    schedule 18.12.2010

/ указывает, что вы начинаете с корня файловой системы. Если вы хотите делать что-то относительно корня документа, вы можете это сделать (это просто еще один способ сделать это)

chdir($_SERVER['DOCUMENT_ROOT']);
$fp = fopen('log.log', 'w');

С этим решением «рабочий каталог» останется корнем документа.

person Minkiele    schedule 18.12.2010