私は次の基本的なPHPを使用していました。
<?php
if (file_exists('count_file.txt'))
{
$fil = fopen('count_file.txt', r);
$dat = fread($fil, filesize('count_file.txt'));
echo $dat+1;
fclose($fil);
$fil = fopen('count_file.txt', w);
fwrite($fil, $dat+1);
}
else
{
$fil = fopen('count_file.txt', w);
fwrite($fil, 1);
echo '1';
fclose($fil);
}
?>
ヒットカウンターとして(私はむしろ持っていたくないのですが、私たちが持っていると主張されています)。txtファイルはヒット数を保持し、機能します...ただし、カウンターはランダムに(場合によっては数週間後、場合によっては数か月後に)トリップして、たとえば4300から11に低下します。
これに対する修正はファイルロックを使用することであると言われたので、次のコードに変更しました。
<?php
$dat = file_get_contents('count_file.txt');
$fil = fopen('count_file.txt', 'w');
if (flock($fil, LOCK_EX)) {
echo $dat+1;
fwrite($fil, $dat+1);
flock($fil, LOCK_UN);
}
fclose($fil);
?>
そして今、数日後、それは再び5000以上から13に落ちました。なぜ誰かが何か考えを持っていますか?