2015-05-21 45 views
0

所以我試圖讓我的PHP腳本添加一個文本log.txt的,log.txt中被放置在SRC/log.txt文件和網頁/腳本PHP腳本.PHP(他們有其他的名字,但是好...)所以我已經試過:PHP編寫串../src到文件

$logfile1 = fopen('log.txt', 'a', [$use_include_path = TRUE]); 
$towrite = date('l jS \of F Y h:i:s A').': '.$var1.' did '.$var2.' and '.$var3.'\n'; 
fwrite($logfile1, $towrite); 

至極沒有工作......(我可以回聲$ towrite,並得到有效的結果) 注意,在文件

set_include_path("../src/" . PATH_SEPARATOR . get_include_path()); 

的頂部完成。

所以...我繼續努力:

file_put_contents('log.txt', $towrite, FILE_APPEND | FILE_USE_INCLUDE_PATH); 

相反的fwrite的......它沒有工作,要麼......甚至試圖把log.txt的網絡中和/有

file_put_contents('log.txt', $towrite, FILE_APPEND); 

所以現在我轉向主人;)我怎麼寫字符串從網頁/ script.php的文件src/log.txt的?

文件樹:

| - web 
| | - script.php 
| - src 
| | - log.php 
+0

您是否嘗試過在使用'file_put_contents'時傳遞'log.txt'的完整路徑?例如'file_put_contents(__ DIR__ '/../src/log.txt',$ towrite,FILE_APPEND);' – Ankh

回答

0

您可能確實在這裏使用絕對路徑。

說你的文件結構看起來是這樣的:

|- src 
| |- log.txt 
|-source 
    |- code.php 

然後,我們就執行以下代碼去一個目錄時,忽略任何include_dir設置當前活動。

<?php 
$log = dirname(__FILE__) . "/../src/log.txt"; 

$date = date('l jS \of F Y h:i:s A'); 
$write = "{$date}: {$var1} did {$var2} and {$var3}\n"; 

file_put_contents($log, $write, FILE_APPEND); 
+0

不,這並不工作,要麼...可悲。 – Svante

+0

你確定你有權限的目錄寫入和沒有目標目錄('src')存在嗎?您可以使用'is_writeable'來檢查是否可以創建文件。您可能還想檢查是否有任何'open_basedir'限制,這可能會阻止您訪問該文件。 – Roelof

+0

顯然,這是不可寫...所以我需要屬性呢?什麼? – Svante