在PHP中相对于文档根的路径

时间:2010-12-18 19:56:08

标签: php relative-path fopen

您好我正在使用XAMPP在本地托管网站。

DocumentRoot如下:DocumentRoot "D:/xampp/htdocs" siteDir位于htdocs文件夹中,下面有一个php文件夹。

我正在尝试将php fopen与相对于网站根(D:/xampp/htdocs/site)的文件一起使用,如下所示:$log = fopen("/log.log", "a")但是这会在D:/log.log中创建文件log.log

为什么在D中创建的任何想法:/(我希望/是web根相对的)

非常感谢

2 个答案:

答案 0 :(得分:6)

/表示您从文件系统root开始。如果你想做与文档根相关的事情,你可以这样做(这只是另一种方法)

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

使用此解决方案,“工作目录”将保留为文档根目录。

答案 1 :(得分:4)

您在代码中使用了绝对路径,因此PHP行事正确。

编写一个简单的代码并查看 $ _ SERVER 变量:

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

您将在代码中找到合适的密钥。在log.log

之前

在我的情况下会是这样的:

<?php

$sRoot = $_SERVER['DOCUMENT_ROOT'];

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

?>