我需要編寫的文本文件,我嘗試使用此代碼入門的fopen/fwrite來寫不同的目錄
public function ResultsTrackingLogs($event, $message) {
$logsDir = dirname(__FILE__) . "/logs/Results Tracking/$event/";
$fh = fopen($logsDir . "$event.txt", 'x') or die("can't open file");
fwrite($fh, $message);
fclose($fh);
}
的轉化爲E:\Dropbox\htdocs\Scrapers\this
超出了\$event\
使得它如此每個事件都有自己的子文件夾。
反正我調整.. IE /logs/Results Tracking/
..或\logs\Results Tracking\..
仍然給我一個錯誤fopen(E:\Dropbox\htdocs\Scrapers\this\logs/Results Tracking/event1/event1.txt): failed to open stream: No such file or directory.
目錄是存在的,我已經在這裏創建的.txt文件也沒有找到它。問題顯然在於我如何描述我的目錄結構。我該如何解決?我不想以前創建目錄結構,我需要它來創建文件夾,因爲它需要。
你給這個文件有什麼權限?您的腳本必須具有寫入權限才能訪問它。 – Lix 2012-07-26 22:46:08
錯誤消息是否實際上在其中說'$ incomingvalue'?因爲如果是這樣,你的變量不會被內插,並且你在文件名中有文字串'$ incomingvalue'。在這種情況下,您可能使用單引號字符串而不是雙引號字符串來聲明文件名。 – DaveRandom 2012-07-26 22:49:03
我不明白如何在Windows中授予文件權限。當我使用'$ logDir = dirname(__FILE__)之類的東西。 「\\日誌/」; $ fileName = $ logDir。 $事件。 「 - 」。日期(「F j,Y - g_i_s A」)。 「熱媒」; $ fh = fopen($ fileName,'x')或死(「無法打開文件」); fwrite($ fh,$ message); fclose($ fh); '它的工作原理,但不是創建動態目錄。 – KiloJKilo 2012-07-26 22:50:19