作爲應用程序日誌記錄的一部分,我試圖打開本地文件,如果該文件尚不存在,要創建一個新文件。下面是我有:PHP fopen()不創建文件,如果它不存在
$path = '/home/www/phpapp/logs/myawesome_logfile.txt';
$f = (file_exists($path))? fopen($path, "a+") : fopen($path, "w+");
fwrite($f, $msg);
fclose($f);
chmod($path, 0777);
我再次檢查,而/logs
目錄chmod爲0777,而我還跟它chown'ing到Apache的額外步驟:apache的好措施。儘管如此,當腳本打開文件時,它給了我一個警告,即文件不存在並且彈出。沒有文件被創建。
我是否需要禁止fopen()
警告才能讓它創建文件?
注意:如果'a +'無論出於何種原因追上我,我都會用'file_exists()'添加邏輯。 – 2011-03-01 21:10:28
你真的想讓你的路徑從根開始嗎?這不會是你的應用的根目錄,那將是你係統的根目錄。 – 2011-03-01 21:11:14
爲什麼你認爲錯誤抑制會幫助你打開一個文件? – 2011-03-01 21:28:57