[PHP-users 32808] Re: クッキーの発行

miyao miyao @ sa.il24.net
2007年 11月 5日 (月) 16:24:20 JST


宮尾です
ご指導有り難うございます
御指摘頂いたとおりにやってみたのですが上手く動作
してくれませんでした。
今回は私が自作したプログラムを載せておきます。
アクセスカウンタのプログラムです。2重カウント防止策として
クッキーを利用しようと考えております。
下記のプログラムを count.inc というファイル名で作成し ***.php
からインクルードしています。

<?PHP
$path = "counter/image/";		// カウンタ画像のあるディレクト
リ
$filename = "counter/count.dat";		// ファイル名の設定
$fig = 5;					// カウンタの桁数
$file = fopen($filename, "r+");	// 読み書きモードでファイルをオープン
flock($file, LOCK_EX);			// 書き込みに対しファイルをロッ
ク
$count = fread($file, filesize($filename));	// カウント数を取得する
if ( isset($_cookie['testcookie']) == "") {
	$count = $count + 1;	// カウントアップ
}
rewind($file); 			//ファイルポインタを先頭に移す
fputs($file, $count);		//ファイルに書き込む
fclose($file);				// ファイルを閉じる
$cnt = sprintf("%0".$fig."d", $count);	// 桁数のフォーマット
$size = getimagesize($path."0.gif");	// 画像のサイズオプションを0.gif
で取得
// ループ1 START:桁数分だけIMGタグを出力ループ
for ($i = 0; $i < strlen($cnt); $i++){
	$n = substr($cnt, $i, 1);		//左から一桁ずつ取得
	echo "<IMG SRC=\"$path$n.gif\" alt=$n $size[3]>";
}
// ループ1 END
$timeout = time() + 7 * 24 * 3600;		// クッキーの有効期間を
1週間とする
setcookie("testcookie", $count, $timeout);	// クッキーの発行
?>
ご指導下さい

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

宮尾 勝巳  ( Katumi Miyao )
E-mail : miyao @ sa.il24.net

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

> > setcookie("testcookie", $count, time() 7 * 24 * 3600);
> ↓↓↓
> $timeout = time() + 7 * 24 * 3600;
> setcookie("testcookie", $count, $timeout);
> > $test = $_cookie("testcookie");
> ↓↓↓
>  $test = $_cookie["testcookie"];



PHP-users メーリングリストの案内