カウンタクラス作成
カウンタクラス-元ファイル作成
ファイル内容は、左サイドナビ「カウンタクラス作成」の中の
「カウンタクラス-元ファイル PHP ファイル」
から見てください。
カウンタ値が書かれたファイル名 count_1.txt を指定し
$filename = 'count/count_1.txt';
このファイルを開けます。
ファイルを開けるのはやっかい
PHP 関数 fopen を使用してファイルをオ-プンします。
$fp = @fopen($filename, 'r+') or die("can't open datafile [$filename]");
書式は
fopen(ファイル名,mode)
です。
パラメータ mode は、そのストリームに要するアクセス形式を指定します。
この指定は多数ありますが、今回は 'r+' を指定します。
'r+' は、読込み/書出し用にオープンします。
そして、ファイルポインタをファイルの先頭に置きます。
オープンが失敗するとこの関数は FALSE を返し、E_WARNING レベルのエラーを発行します。
今回は、これは回避することとし、@ を使って @fopen 記述してこの warning を抑制します。
エラ-を発生させる代わりに、
die("can't open datafile [$filename]")
とし、ファイルが開けなかったことを表示し、PHPスクリプトを終了します。
カウンタ値を読取り1を足す
PHP 関数 fgets を使用してファイルポインターから最大32バイト分のデ-タを取得します。
$count = fgets($fp, 32);
$count が空ならば1とし、そうでないならば、+1とします。
if ($count == ' ') {
$count = 0;
}
$count += 1;
カウンタ値をファイルに戻す
ファイルポインターの位置を先頭に戻し
rewind($fp);
排他的ロックをかけ
flock($fp, LOCK_EX);
PHP 関数 fputs を使用してファイルポインター位置から順に $count 値を書出します。
fputs($fp, $count);
そして、ファイルをクロ-ズします。
fclose($fp);
カウンタ値を表示
後は簡単、カウンタ値を表示するだけです。
echo $count;
カウンタクラス-元ファイル動作確認へ進む
カウンタクラス作成の目的に戻る