Моя проблема появилась при попытке войти в файл. Я создал класс cLog с методом ToLog, который работает следующим образом:
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 сообщает мне «отказано в доступе». Я подозреваю, что как-то запись + закрытие файла задерживается, но как мне тогда это исправить?
Задача ещё не решена.
Других решений пока нет …