根據fopen documentation,在某些模式下,它會創建文件,如果它不存在,但在我的情況下,我已經檢查了所有'w','w +','x '和'x +'模式,但它只是向我發出警告,並且無法創建文件。PHP fopen()不會創建文件
這是我的代碼:
$this->handle = fopen($this->log_name, 'w');
和我所得到的:
Warning: fopen(D:\xampp\htdocs\farid\logs\error.php) [function.fopen]: failed to open stream: No such file or directory in D:\xampp\htdocs\farid\libraries\error\log.php on line 34
Warning: fwrite() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\farid\libraries\error\log.php on line 66
Warning: fclose() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\farid\libraries\error\log.php on line 27
而且我在Windows環境下工作。
這些目錄是否存在? – aynber
文件權限是最明顯的嫌疑人 –
從相同的文檔 - 「如果PHP已經決定文件名指定一個本地文件,那麼它將嘗試打開該文件的流。該文件必須可以訪問PHP,所以你需要確保文件訪問權限允許訪問,如果您啓用了安全模式,或者使用open_basedir進一步的限制可能適用。「 –