私はスクリプトを通して起こる出来事を記録する機能を持っています。私のリソースを効果的に使うために、私は生成するデータを圧縮することに決めました。しかし、私はこのエラーを取得しておいてください。PHP gzuncompressがファイルの読み取りと書き込みのエラーを伴う
Unknown error type: [2] gzuncompress() [function.gzuncompress]: data error
ここでは、関数の:上記のイベントのいずれかが実行され、(アカウントを発生するよう
function eventlog($type, $message){
// Types: account,run,queue,system
// Set up file name/location
$eventfile = '/myprivatedirectory/'.date('Ymd').$type.'.log';
if(file_exists($eventfile)){
while(!is_writable($eventfile)){clearstatcache();}
$fh_log = fopen($eventfile,'r+');
flock($fh_log, LOCK_EX);
$logcontents = gzuncompress(fread($fh_log,filesize($eventfile)));
rewind($fh_log);
ftruncate($fh_log, 0);
$logcompressed = gzcompress($logcontents.$message."\n");
fwrite($fh_log,$logcompressed);
flock($fh_log, LOCK_UN);
fclose($fh_log);
} else {
$fh_log = fopen($eventfile,'w');
flock($fh_log, LOCK_EX);
$logcompressed = gzcompress($message."\n");
fwrite($fh_log,$logcompressed);
flock($fh_log, LOCK_UN);
fclose($fh_log);
}
}
ので、日常、真夜中に、新しいエラーログは、作成されますキュー、システム)、それ以外の場合は新しいイベントが敬礼ログファイルに追加されます。
私は圧縮を保つのが大好きですが、私はこれらのエラーが発生し続けることはできません。だれでも助けてくれますか?前もって感謝します。
'file_put_contents'はここで多くの問題を軽減します。 – Jon
私はこれを 'file_get_contents'で試していますが、これまでのところ問題ありません。 –