【问题标题】:path relative to document root in PHPPHP中相对于文档根目录的路径
【发布时间】:2011-05-27 15:55:30
【问题描述】:
您好,我正在使用 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:/ 中创建的任何想法(我原以为 / 是相对于网络根目录的)
非常感谢
【问题讨论】:
标签:
php
relative-path
fopen
【解决方案1】:
您在代码中使用了绝对路径,因此 PHP 正确。
写一个简单的代码,看看$_SERVER变量:
<?php
echo '<xmp>';
print_r($_SERVER);
echo '</xmp>';
?>
您会在代码中找到合适的密钥。在log.log之前
在我的情况下是这样的:
<?php
$sRoot = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen($sRoot . '/log.log', 'w');
?>
【解决方案2】:
/ 表示您从文件系统根目录开始。如果你想做与文档根目录相关的事情,你可以做(这只是另一种方法)
chdir($_SERVER['DOCUMENT_ROOT']);
$fp = fopen('log.log', 'w');
使用此解决方案,“工作目录”将保留文档根目录。