PHP fclose稍后再打开文件时不会解锁文件

时间:2014-11-17 12:24:52

标签: php fopen fclose

尝试登录文件时出现问题。我创建了一个带有ToLog方法的cLog类,其工作方式如下:

function ToLog($logType, $text) {


    $myDate = date("H:i:s d/m/Y");
    $ip = $_SERVER['REMOTE_ADDR'];

    $fichero = $this->GetLogFilename($logType);
    $filehandler = fopen($this->pathfichero.$fichero, "a");
    if ($filehandler == false)
    {
        print_r (error_get_last());
    }

    fputs($filehandler, $myDate.' | IP: '.$ip.' | USER: '.$_SESSION['usr'].' | '.$text."\r\n");         
    fclose($filehandler);

    return;

}

如果我从其他类的方法中创建一个oLog()对象并调用$ oLog-> ToLog($ logtype,'我要记录的内容')它工作得很好,但当我调用另一个方法再调用$ oLog-> ToLog(...)方法时,它会失败并告诉我:

 [type] => 2 [message] => fopen(log.admin): failed to open stream: Permission denied [file] => /.../cLog.php

这里发生了什么?我第一次在文件上写它是有效的,第二次,即使我已经把它关闭了,PHP告诉我"许可被拒绝"。我怀疑以某种方式写入+关闭文件会被延迟,但我该如何解决呢?

0 个答案:

没有答案