\n';
//URLにgetで渡された変数を読み込み
$good = $_GET['good'];
//echo "$good
";
//2012.3.31追記
//記事一覧等にえんちゃうボタンを配置した場合用の変数
$article = $_GET['article'];
//ええんちゃうボタンを1ページ内に複数配置する場合、変数「$nawArticle」に
//対象の記事を識別するための変数を仕込んでやる
//(変数は必ず「1」「2」等の半角数字であること)
//$nawArticle = '';
//getで渡された記事用の変数と現在の記事の変数が同じかどうかを調べる(テスト時以外はコメントアウト)
/*
if ($nawArticle == $article){
echo "該当記事です
\n";
}else{
echo "該当記事ではありません
\n";
}
*/
//2012.3.31追記 ここまで
//カウンターログファイル名・IPデータファイル名
//2012.3.31追記
//ええんちゃうログリーダーとの連動で、すでに「$countLog」に値が入っている場合の処理
if($countLog != ""){
$ipLog = str_replace("_cnt.dat","_ip.log",$countLog);
//echo "$ipLog
";
}else{
//ええんちゃうログリーダーと連動してない場合は、単一記事の処理を行う。
$countLog = 'post-124_cnt.dat';
$ipLog = 'post-124_ip.log';
//echo "$countLog
";
}
//2012.3.31追記 ここまで
//IPアドレス格納
//$ip = getenv("REMOTE_ADDR");
$ip = $_SERVER['REMOTE_ADDR'];
$exip = "210.160.62.149";//除外IPアドレスを設定
//$exip = "219.75.255.135";
$flag = 0;//同一IPがあるかどうかのフラグ
/* -----IPアドレスリストの作成------ */
// ファイルの内容を配列に格納
if (file_exists($ipLog)) {
// echo "$ipLog は存在します
";
$file = file($ipLog);
$n = 100; // 最大出力行数
if($n > count($file)){
$li = count($file);//現在の行数が$nより少ない場合現在の行数を格納
} else {
$li = $n;//現在の行数が$nより多ければ$nに
}
// echo "$li
";
$i = 0; // カウント値の設定
// ログの中に同じIPがあれば$flagに1を入れる
while( $i < $li ){
if($ip == chop($file[$i])){
$flag = 1;
break;
}
$i++;
}
//IPが除外IPだった場合$flagに2を入れる
if($ip == $exip){
$flag = 2;
}
} else {
// echo "$ipLog は存在しません
";
$file = "";
}
//2012.3.31追記
//1ページ内に複数のええんちゃうボタン設置
if(($good == 1) &&($nawArticle == $article)){//good=1が渡されて、それが対象記事に当たっているときはカウンターに書き込み
//2012.3.31追記 ここまで
if (file_exists($ipLog)) {
// echo "$ipLog は存在します
";
if($flag == 0){//ログに同一IPがない場合のみ書き込み(jsオフ対策)
if($li < $n){//ログファイルの行数が$n未満
// echo "少ない
";
$fp = fopen("$ipLog","a+") or exit($ipLog."のオープンに失敗");
flock($fp, LOCK_EX) or exit("Cannot lock on ".$ipLog);//排他ロック
fwrite($fp, $ip."\n");//行の最後に現在のIPを付加
flock($fp, LOCK_UN);
fclose($fp);
} else {
// echo "多い
";
array_shift($file);//配列の先頭を取り出し
array_push($file, $ip."\n");//配列の最後に現在のIPを付加
$data = join($file);//配列をつなぎ合わせ
$fp = fopen("$ipLog","w") or exit($ipLog."のオープンに失敗");
flock($fp, LOCK_EX) or exit("Cannot lock on ".$ipLog);//排他ロック
fwrite($fp, $data);//配列全部ごと書き込み
flock($fp, LOCK_UN);
fclose($fp);
}
}
} else {//ログファイル作成処理
// echo "$ipLog を作成します
";
$fp = fopen("$ipLog","w") or exit($ipLog."の作成に失敗");
fwrite($fp, $ip."\n");
fclose($fp);
if (file_exists($countLog)) {
$flag = 0;//先にログファイルが存在する場合のイレギュラー処理
}else{
$flag = 1;//同一IPがあるかどうかのフラグ
}
//IPが除外IPだった場合$flagに2を入れる
if($ip == $exip){
$flag = 2;
}
}
}
/* -----ええんちゃう?!ボタンの挙動------ */
//2012.3.31追記
//1ページ内に複数のええんちゃうボタン設置対応処理
if(($good == 1) &&($nawArticle == $article)){//good=1が渡されて、それが対象記事に当たっているときはカウンターに書き込み
//2012.3.31追記 ここまで
if (file_exists($countLog)) {
// echo "$countLog は存在します
";
if($flag != 1){//$good=1かつ$flag=0の通常書き込み
$fp = fopen("$countLog","r+") or exit($countLog."のオープンに失敗");
flock($fp, LOCK_EX) or exit("Cannot lock on ".$countLog);//排他ロック
$cnt = (int)fgets($fp);
$cnt++;
rewind($fp);
set_file_buffer($fp, 0);//バッファを無効にする
fwrite($fp, (string)$cnt);
flock($fp, LOCK_UN);
fclose($fp);
$flag = 1;//同一IPがあるかどうかのフラグ
//IPが除外IPだった場合$flagに2を入れる
if($ip == $exip){
$flag = 2;
}
} else {//$good=1かつ$flag=1イレギュラー(ボタン押し後そのままリロード)処理
// echo "$countLog を読み込みます
";
if (file_exists($countLog)) {
$fi = file($countLog);
$cnt = $fi[0];
}
}
} else {//ログファイル作成処理
// echo "$countLog を作成します
";
$fp = fopen("$countLog","w") or exit($countLog."の作成に失敗");
fwrite($fp,"1");
fclose($fp);
$cnt = 1;//ログ作成したけど読み込んでないので見せかけに1を入れる
}
} else {//通常時はカウンター読み込みのみ
// echo "$countLog を読み込みます
";
if (file_exists($countLog)) {
$fi = file($countLog);
$cnt = $fi[0];
} else {
// echo "$countLog がないのでカウントに0を入れます
";
$cnt = 0;//ログファイルがないときの数値表示
}
}
?>
\n';
//URLにgetで渡された変数を読み込み
$went = $_GET['went'];
//echo "$went
";
//2012.3.31追記
//記事一覧等にえんちゃうボタンを配置した場合用の変数
//$article = $_GET['article'];
//ええんちゃうボタンを1ページ内に複数配置する場合、変数「$nawArticle」に
//対象の記事を識別するための変数を仕込んでやる
//(変数は必ず「1」「2」等の半角数字であること)
//$nawArticle = '';
//getで渡された記事用の変数と現在の記事の変数が同じかどうかを調べる(テスト時以外はコメントアウト)
/*
if ($nawArticle == $article){
echo "該当記事です
\n";
}else{
echo "該当記事ではありません
\n";
}
*/
//2012.3.31追記 ここまで
//カウンターログファイル名・IPデータファイル名
//2012.3.31追記
//ええんちゃうログリーダーとの連動で、すでに「$countLog2」に値が入っている場合の処理
if($countLog2 != ""){
$ipLog2 = str_replace("_cnt_went.dat","_ip2.log",$countLog2);
//echo "$ipLog2
";
}else{
//ええんちゃうログリーダーと連動してない場合は、単一記事の処理を行う。
$countLog2 = 'post-124_cnt_went.dat';
$ipLog2 = 'post-124_ip2.log';
//echo "$countLog2
";
}
//2012.3.31追記 ここまで
//IPアドレス格納
//$ip = getenv("REMOTE_ADDR");
$ip = $_SERVER['REMOTE_ADDR'];
$exip = "210.160.62.149";//除外IPアドレスを設定
//$exip = "219.75.255.135";
$flag = 0;//同一IPがあるかどうかのフラグ
/* -----IPアドレスリストの作成------ */
// ファイルの内容を配列に格納
if (file_exists($ipLog2)) {
// echo "$ipLog2 は存在します
";
$file = file($ipLog2);
$n = 100; // 最大出力行数
if($n > count($file)){
$li = count($file);//現在の行数が$nより少ない場合現在の行数を格納
} else {
$li = $n;//現在の行数が$nより多ければ$nに
}
// echo "$li
";
$i = 0; // カウント値の設定
// ログの中に同じIPがあれば$flagに1を入れる
while( $i < $li ){
if($ip == chop($file[$i])){
$flag = 1;
break;
}
$i++;
}
//IPが除外IPだった場合$flagに2を入れる
if($ip == $exip){
$flag = 2;
}
$flag = 2;
} else {
// echo "$ipLog2 は存在しません
";
$file = "";
}
//2012.3.31追記
//1ページ内に複数のええんちゃうボタン設置
if(($went == 1) &&($nawArticle == $article)){//went=1が渡されて、それが対象記事に当たっているときはカウンターに書き込み
//2012.3.31追記 ここまで
if (file_exists($ipLog2)) {
// echo "$ipLog2 は存在します
";
if($flag == 0){//ログに同一IPがない場合のみ書き込み(jsオフ対策)
if($li < $n){//ログファイルの行数が$n未満
// echo "少ない
";
$fp = fopen("$ipLog2","a+") or exit($ipLog2."のオープンに失敗");
flock($fp, LOCK_EX) or exit("Cannot lock on ".$ipLog2);//排他ロック
fwrite($fp, $ip."\n");//行の最後に現在のIPを付加
flock($fp, LOCK_UN);
fclose($fp);
} else {
// echo "多い
";
array_shift($file);//配列の先頭を取り出し
array_push($file, $ip."\n");//配列の最後に現在のIPを付加
$data = join($file);//配列をつなぎ合わせ
$fp = fopen("$ipLog2","w") or exit($ipLog2."のオープンに失敗");
flock($fp, LOCK_EX) or exit("Cannot lock on ".$ipLog2);//排他ロック
fwrite($fp, $data);//配列全部ごと書き込み
flock($fp, LOCK_UN);
fclose($fp);
}
}
} else {//ログファイル作成処理
// echo "$ipLog2 を作成します
";
$fp = fopen("$ipLog2","w") or exit($ipLog2."の作成に失敗");
fwrite($fp, $ip."\n");
fclose($fp);
if (file_exists($countLog2)) {
$flag = 0;//先にログファイルが存在する場合のイレギュラー処理
}else{
$flag = 1;//同一IPがあるかどうかのフラグ
}
//IPが除外IPだった場合$flagに2を入れる
if($ip == $exip){
$flag = 2;
}
}
}
/* -----ええんちゃう?!ボタンの挙動------ */
//2012.3.31追記
//1ページ内に複数のええんちゃうボタン設置対応処理
if(($went == 1) &&($nawArticle == $article)){//went=1が渡されて、それが対象記事に当たっているときはカウンターに書き込み
//2012.3.31追記 ここまで
if (file_exists($countLog2)) {
// echo "$countLog2 は存在します
";
if($flag != 1){//$went=1かつ$flag=0の通常書き込み
$fp = fopen("$countLog2","r+") or exit($countLog2."のオープンに失敗");
flock($fp, LOCK_EX) or exit("Cannot lock on ".$countLog2);//排他ロック
$cnt2 = (int)fgets($fp);
$cnt2++;
rewind($fp);
set_file_buffer($fp, 0);//バッファを無効にする
fwrite($fp, (string)$cnt2);
flock($fp, LOCK_UN);
fclose($fp);
$flag = 1;//同一IPがあるかどうかのフラグ
//IPが除外IPだった場合$flagに2を入れる
if($ip == $exip){
$flag = 2;
}
} else {//$went=1かつ$flag=1イレギュラー(ボタン押し後そのままリロード)処理
// echo "$countLog2 を読み込みます
";
if (file_exists($countLog2)) {
$fi = file($countLog2);
$cnt2 = $fi[0];
}
}
} else {//ログファイル作成処理
// echo "$countLog2 を作成します
";
$fp = fopen("$countLog2","w") or exit($countLog2."の作成に失敗");
fwrite($fp,"1");
fclose($fp);
$cnt2 = 1;//ログ作成したけど読み込んでないので見せかけに1を入れる
}
} else {//通常時はカウンター読み込みのみ
// echo "$countLog2 を読み込みます
";
if (file_exists($countLog2)) {
$fi = file($countLog2);
$cnt2 = $fi[0];
} else {
// echo "$countLog2 がないのでカウントに0を入れます
";
$cnt2 = 0;//ログファイルがないときの数値表示
}
}
?>
掲載内容が変更している場合もございます。
訂正等につきましては、
こちらよりお知らせください。