opqr.info アフィリエイト,アクセスアップ,相互リンク,ロボット一括登録,検索エンジン最適化,ホームページ作成など、初級から中級のWebマスター必見!
インターネット有効活用術
[アフィリエイト] [アクセスアップ] [相互リンク] [ロボットSE推薦] [懸賞] [銀行/証券] [ブログ] [ビジネス] [ランキング] [無料サーバー]
[検索エンジン] [サーバー] [カラーチャート] [携帯検索エンジン登録] [荒らし] [リンクフリー] [作品] [洗った] [ダウンロード] [掲示板]
[CGIカウンター] [PHPカウンター] [PHP環境] [言語] [CGI] [クッキー] [JAVA] [javascript] [VB] [リンク] [開発BBS]


【PHP アクセスカウンタ】

実際のソースをみてみる。
・このサイトでも使っているカウンターの方式をこちらに紹介しますね。 (全文は書けないのでこのまま使っても動きそうな感じに書き換えてます)
もちろんPHPがインストールされ動作する環境のサーバー内に設置しないと動きません。

//-----------------------------------------------------------

【下記PHPの動作に必要なファイル】
1.yobidashi.php (名前はなんでもかまいません)
2.mod.inc
3.cnt.dat (サーバーに設置したら、属性を666にして下さい)
この3ファイルを同一階層に設置して、それぞれに下記を記述する。

//■FUNCTION呼出側・yobidashi.php■カウンター
require("mod.inc"); //mod.inc の呼出
$CONF[0]['GIP'] = "自分のグローバルIPアドレス"; //自分のIPアドレスを代入。
$CNT = T_CNT("cnt.dat",$REMOTE_ADDR,$CONF); //$CNTにカウンタ数値が入る。
      //引数は(DATファイル,アクセス元のIP,自分のIP)
print "[".$CNT."]\n"; //カウンタ値の表示

//■FUNCTION・mod.inc■ TXTカウンター表示
function T_CNT($FILE,$REMO_ADDR,$CONF) //$CONF配列
{
 $fp = fopen($FILE, "r+"); //ファイルを開く
  if(!$fp) //ファイルを開けない時は$fpに'false'が入る。
  {
   $counter = "NG"; //ファイルを開けない時は数字の変わりにNGを代入。
  }
  else
  {
   set_file_buffer($fp, 0); //バッファを0にする。
   flock($fp, 2); //ファイルをロックする。
   rewind($fp); //ファイルポインタを文字の先頭に移動。
    if($REMO_ADDR == $CONF[0]['GIP']) //$CONF[0]['GIP']は配列です。
    { $counter = fgets($fp, 10) + 0; } //自分のPCからのアクセスはカウントをあげない。
    else
    { $counter = fgets($fp, 10) + 1; } //外部アクセスはカウントを1増やす。
   rewind($fp); //ファイルポインタを文字の先頭に移動。
   fputs($fp, $counter); //ファイルにカウンタ値を書込む。
   flock($fp, 3); //ロックを解除。
   fclose($fp); //ファイルを閉じる。
  }
 return $counter; //カウンター値を返す。
}

//-----------------------------------------------------------

■以上がソースコードです。

私の場合、自分のアクセスはカウントしないようにしています。
$CONF[0]['GIP'] に自分のグローバルIPアドレスが格納されています。
わざわざ配列にしているのは、自分のサイト情報やマシン情報、個人情報などを $CONF に配列として入れておくと、後々必要になる情報をファンクションに渡すときに、パラメータ(引数)の数を 増やさなくてすむからです。
カウンタをファンクション化しているというのは、 このファンクションを何箇所からも共有で使っているということで、そうした場合、 もし、グローバルIPアドレスなどを『000.000.000.000』という形式で手打ちしていた場合、 変更があるたびに全ての呼出記述を変更しなければならなくなりますよね。
もし、10箇所でこのファンクションを呼び出して使ってた場合、その10箇所の記述が どこだったかなんて覚えてられません。
そういった意味でも特定のデータを$CONF[0]['GIP'] のように配列で保持しておくと、大元の変更 だけで済むので便利です。

PHPカウンタの解説で、ファイルを開けない時、『カウンタをひらけません』と表示して、exit; している場合が ありますが、これはちょっと問題です。なぜなら、もしカウンタファイルが開けない場合HTML書き出しの 処理が、exit; により終了してしまい、その後にある表示などの処理は一切行われないからです。
サイトにアクセスしている利用者からすればカウンタの数値など大きな問題ではないのですから、 『NG』と表示させたり、空白を表示し、次の処理を実行させる方がいいと思います。


/// サイト・インフォメーション //////////////////////////////////////
NTTPCのレンタルサーバー/ホスティングサービス WebARENA
■初期費用(税込);3,150円〜 ■月額(税込);3,360円〜 ■サーバー容量;100MB ■転送量;無制限 ■バックボーン;40Gbps ■POPメール;無制限 ■商用利用OK ■ショッピングカート(オプション) ■独自ドメインOK ■サブドメイン(無料) ■自作CGI使用可 ■SSI使用可 ■PHP使用可 ■Xoops使用可 ■MovableType使用可 ■MySQL(オプション) ■PostgreSQL(オプション) ■SSL(オプション) ■VPSプラン有 ■専用サーバープラン有 ■35,000社の利用実績を誇るグループウェア『desknet’s』装備。 ■ディスク容量は基本100MBから最大1GBまで50MB単位で追加可能。 ■加入月1ヵ月無料キャンペーン実施中。
 [226651]

>>サービス検索 [設置]

【インターネット】
Yahoo! JAPANの検索結果で上位表示する方法
【キャッシング】
キャッシング(ローン)比較
【グルメ】
ホットペッパー
【レンタルサーバー】
ロリポップのドメインは選べる全85種類!!
NTTPCのレンタルサーバー/ホスティングサービス WebARENA
■☆さくらインターネット
ただのレンタルカートじゃない 素敵なレンタルカートです!
大容量・高機能レンタルサーバー heteml
【学習・教育】
★就・転職に有利!パソコン会計資格が取れる!
〓特集〓 ホームページデザインのプロになってみない?!
【視力・コンタクト】
カラコン通販【007速配コンタクト】度ありカラコン40色以上!
【就職・転職】
介護福祉の求人情報17,000件。カイゴジョブ
【出会・結婚】
結婚式の情報いっぱい!ゼクシィnet会員登録はコチラ
【男性美容】
包茎治療に上野クリニック
【旅行】
■国内宿・ホテル予約なら、るるぶトラベル!
海外旅行はJTB!Web限定商品など、海外ツアー検索・予約が可能!
【関連サイト】
[血液型・生年月日占い] [海外旅行,沖縄生活(一人…旅の肖像画)] [インターネット有効活用術] [ネットサービス、ネットショップ、通販のWSW] [求人情報(就職・転職・派遣)比較] [アクセスアップ支援相互リンク] [無料一括登録支援] [資産運用(株式投資・外国為替)比較] [ネットで副収入・お小遣い] [株式投資分析リンク集] [モバイルサイト検索-モバイルパーク] [クレジットカード比較] [キャッシング(ローン)比較] [アフィリエイト比較] [ネット広告代理店比較] [ASPカタログ] [売れるASを作る方法] [格安レンタルサーバー比較] [ビジネス情報比較] [旅行会社比較] [懸賞比較] [オンラインゲーム比較] [結婚情報比較] [ダイエット情報比較] [グルメ情報比較] [オートリンクシステム紹介] [キャンペーン・お得情報] opqr.infoモバイル→ [モバイルキャッシング] [キャッシングファイル] [着うた着メロ] [モバイル情報BOX] [モバイル懸賞] [携帯deゲーム] [無料携帯サイト] [携帯占い] [モバイルパーク] [投資マニュアルと投資情報] [投資用口座開設] [ネットナビ] [ACUPサーチE] [ダイエットショップ] [手配info] [リストサイト] mit.s16.xrea.com→ [カラーチャート] [ナイトファン] [アフィリエイトリンク] NSFレンタルサーバー

=Powered by opqr.info=  [利用規約及び免責事項] [マスコミ各位・ご意見ご感想] [広告の掲載について]