我有一些問題,在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