カウンタクラス
PHP ファイル
count_2.php
Move Imageに戻る
<?php
class Counter {
// メンバ変数にアクセス修飾子付与
private $fp;
// コンストラクタ
public function __construct
($filename)
{
// カウント処理を実行
$this->_filename = $filename;
$fp =
@fopen($this->_filename, 'r+')
or die(
"can't open datafile [$filename]"
);
/*
@fopen:失敗してもエラー表示なし
die:()内を表示してPHPスクリプトを終了
r+:読込、書出用にオープン、
ファイルポインターを
ファイルの先頭に置く
*/
$this->_count = fgets($fp, 32);
//ファイルポインターから
//最大32バイトを取得
if ($this->_count == '') {
$this->_count = 0;
}
$this->_count += 1;
rewind($fp);
//ファイルポインターの位置
//を先頭に戻す
flock($fp, LOCK_EX);
//排他的ロック
fputs($fp, $this->_count);
//オープンファイルに書出
fclose($fp);
} // function __construct END
function view()
{
echo $this->_count;
}
} // class Counter END
/*
使い方:
カウンタ1
$CNT1 = new Counter('***1.txt');
$CNT1->view(); 実際にカウンタを表示
カウンタ2
$CNT2 = new Counter('***2.txt');
$CNT2->view(); 実際にカウンタを表示
*/
?>