16

我对 php fopen 中的相对路径和绝对路径有一些问题。我有以下目录:

project:
    scripts:
        myscript.php
    logs:
        mylog.log

我想打开mylog.logmyscript.php我不知道如何指定路径。我试过了

fopen('../logs/mylog.log', "a")

但它不会工作。谢谢。

LE:谢谢你的回答。

4

3 回答 3

37

在 php 中,有几个全局常量可能对您有所帮助。即,__DIR__为您提供当前文件的目录('.'只为您提供正在执行的根脚本的目录)。

所以你想要的是:

fopen(__DIR__ . '/../logs/mylog.log', "a")
于 2013-03-16T15:21:28.780 回答
8

您可以使用$_SERVER['DOCUMENT_ROOT']which 给出虚拟主机的文档根目录。

例如:$_SERVER['DOCUMENT_ROOT']."/log/mylog.log"

于 2013-03-16T15:20:40.563 回答
8

这应该有效:

fopen(__DIR__ . '/../logs/mylog.log', "a");

或在 PHP < 5.3 中:

fopen(dirname(__FILE__) . '/../logs/mylog.log', "a");
于 2013-03-16T15:20:56.103 回答