* // ヘッダ部分 * var $head = ' * において今日:{today} 昨日:{yesterday} 合計:{total}を挿入してください */ //------------設定---------- //テキストカウンタなら0 画像カウンタなら1 $mode = 0; // 昨日カウント用GIF画像のディレクトリ $yes_path = './1/'; // 本日カウント用GIF画像のディレクトリ $day_path = './1/'; // 総カウント用GIF画像のディレクトリ $all_path = './1/'; // カウンタ記録ファイル $log = './all.dat'; // 昨日カウント数の桁数 $fig1 = 3; // 本日カウント数の桁数 $fig2 = 3; // 合計カウント数の桁数 $fig3 = 4; // 連続IPはカウントしない(yes=1 no=0) $ipcheck = 1; // クッキーを一日に設定 setcookie("counter","1",time()+24*3600); //---------設定ここまで------ function outhtml($f_cnt, $c_path){//カウント数とパスを与えて、IMGタグを返す $size = getimagesize($c_path."0.gif"); //0.gifからwidthとheight取得 for ($i=0; $i"; endfor; return $i_tag; } $now_date = gmdate("Ymd", time()+9*3600); // 今日の日付 $yes_date = gmdate("Ymd", time()-15*3600); // -24h $dat = file($log); // ファイルを配列に list($key, $yes, $tod, $all, $addr)=explode("|", $dat[0]);//データを分解 if (phpversion() < "4.1.0") $_COOKIE = $HTTP_COOKIE_VARS; if(($ipcheck && $REMOTE_ADDR != "$addr") || $ipcheck==0 || $_COOKIE['counter']==""){//直前IPが違うならカウントアップ if($key == $now_date){//キーが今日なら今日をアップ $tod++; }else{ $yes = ($key == $yes_date) ? $tod : 0;//キーが昨日なら昨日に今日カウント格納それ以外は0 $tod = 1; } $all++;//合計をカウントアップ $new = implode("|", array($now_date,$yes,$tod,$all,$REMOTE_ADDR));//データ連結 $fp = fopen($log, "w");//ファイルに保存 flock($fp,2); fputs($fp, $new); fclose($fp); } //カウント整形(空いた桁を0で埋める) $yesterday = sprintf("%0".$fig1."d", $yes); $today = sprintf("%0".$fig2."d", $tod); $total = sprintf("%0".$fig3."d", $all); if($mode){ //タグを取得(画像出力) $yesterday = outhtml($yesterday, $yes_path); $today = outhtml($today, $day_path); $total = outhtml($total, $all_path); } /*use:*/ ?>