путь относительно корня документа в PHP - PullRequest
1 голос
/ 18 декабря 2010

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

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

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

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

Большое спасибо

Ответы [ 2 ]

6 голосов
/ 18 декабря 2010

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

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

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

4 голосов
/ 18 декабря 2010

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

написать простой код и взглянуть на $ _ SERVER переменная:

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

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

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

<?php

$sRoot = $_SERVER['DOCUMENT_ROOT'];

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

?>
...