我有一些问题,在PHP fopen的相对和绝对路径。 我有以下目录:如何在php fopen中编写路径?
project:
scripts:
myscript.php
logs:
mylog.log
我想打开从myscript.php
mylog.log
,我不知道如何指定的路径。我试过
fopen('../logs/mylog.log', "a")
但它不起作用。 谢谢。 LE:谢谢你的回答。
我有一些问题,在PHP fopen的相对和绝对路径。 我有以下目录:如何在php fopen中编写路径?
project:
scripts:
myscript.php
logs:
mylog.log
我想打开从myscript.php
mylog.log
,我不知道如何指定的路径。我试过
fopen('../logs/mylog.log', "a")
但它不起作用。 谢谢。 LE:谢谢你的回答。
在PHP中,有一对夫妇的全局常量,可能会有所帮助的给你。即,__DIR__
为您提供当前文件的目录('.'
只是为您提供了执行根脚本的目录)。
所以,你想要的是:
fopen(__DIR__ . '/../logs/mylog.log', "a")
确实。 'dirname(__ FILE __)'可用于5.3.0下PHP安装的可移植性。 – TaZ 2013-03-16 15:31:10
您可以使用$_SERVER['DOCUMENT_ROOT']
,它提供虚拟主机的文档根目录。
如:$_SERVER['DOCUMENT_ROOT']."/log/mylog.log"
你假设他是通过网络服务器运行而不是命令行。 – 2013-03-16 15:21:38
这应该工作:
fopen(__DIR__ . '/../logs/mylog.log', "a");
或PHP < 5.3:
fopen(dirname(__FILE__) . '/../logs/mylog.log', "a");
有没有“它不工作”,有可能是错误消息来代替。 – str 2013-03-16 15:20:12
它是否返回错误?该错误应该反映正在访问的解决路径。另外,检查权限。 – Anthony 2013-03-16 15:20:21
@str - 你在开玩笑吗?我得到了* TON *没有用。 – Anthony 2013-03-16 15:21:07