根据 fopen documentation ,在某些模式下,如果文件不存在,它会创建文件,但在我的情况下,我已经检查了所有“w”、“w+”、“x”和“x+”模式,但它只是向我发出警告,它无法创建文件。
这是我的代码:
$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环境下工作。
最佳答案
检查日志文件的路径是否存在,它创建一个文件,而不是一个目录。
同时检查运行 xampp 的用户是否有权访问您指定的文件夹。
关于PHP fopen() 不创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12746540/