2010-12-18 81 views
1

嗨,即时通讯使用XAMPP在本地托管一个站点。相对于PHP中文档根目录的路径

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

我试图使用PHP fopen相对于网站根目录(D:/xampp/htdocs/site)文件如下:$log = fopen("/log.log", "a")然而这在D:/log.log

这是为什么在d产生任何想法创建文件log.log:/(我本来期望/是Web根目录相对)

非常感谢

你已经在你的代码中使用的 绝对路径

回答

4

,所以PHP行为的权利。

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

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

,你会发现合适的钥匙在你的代码中使用。之前我的情况下log.log

这将是这样的:

<?php 

$sRoot = $_SERVER['DOCUMENT_ROOT']; 

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

?> 
6

/表明你是从文件系统的根目录开始。如果你想要做的事情相对于文档根目录,你可以做(​​它只是一个做到这一点的方法)

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

这种解决方案的“工作目录”仍将是文档根目录。