PHPで簡単にクリックカウンターが作れたらいいのになぁ…。そう思った事はありませんか?私はプログラマーではないのですが、PHPの面白さに取りつかれた一人です。
今回は、クリックを計る為の簡単なカウンターを作ってみました。
スポンサードリンク
必要なファイルは2ファイルのみ!簡単なクリックカウンター
アクセスカウンター?クリックカウンター?どちらの呼び方が正しいのかはわかりませんが、今回は以下のような動きを作ってみました。
今回作成した目的は、ホームページに来たアクセスを計りたいのではなく、自分のホームページから他ページに飛ぶ際にクリック数をカウントしたかったんです。
このような事をしたいと思っている人が他にもいるかもしれないと思い、記事にしてみました。
では、早速作ってみます。
カウントしたデータを保管するテキストファイルを用意する
カウントしたデータを蓄積する為の箱が必要なので、そちらを用意します。
今回はcount.txtと名前を付けました。count.txtの中身には数字の「0」を入れておきましょう。
クリックをカウントして他ページへリダイレクトするスクリプトを書く
dl.phpと名付けたファイルを作成しました。
dl.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php //アクセスを書き込むファイルの場所 $log = 'count.txt'; //count.txtにアクセス数を書き込む処理 $fp = @fopen($log, "r+") or die($log."が開けません"); flock($fp, LOCK_EX); $count = fgets($fp, 64); $count++; rewind($fp); fputs($fp, $count); fclose($fp); //コンテンツページへリダイレクト $contents = 'https://web-dsn.com/'; header("Location: $contents"); ?> |
簡単に説明すると、dl.phpにアクセスがあると以下のような動きをします。
(2)count.txtの中に書かれている数字に1を足して書き込む
(3)count.txtを閉じる
(4)「https://web-dsn.com/」にリダイレクトする
こんな感じでしょうか。
count.txtの中に「0」を入れておいてくださいねと指示したのは、(2)に関係しています。
count.txtの中に書かれている数字に1を足して書き込むという処理をするのに、何も書かれていなければ数字を足す事はできません。その為、「0」が必要なんです。
『count.txtの中身が「空」だった場合1を書き込む』という処理を書けばそちらも回避できるのですが、処理が増えて面倒だったので今回は書きませんでした。
作成した2ファイルをサーバーにアップする
作成した2ファイルをサーバーにアップしましょう。この時、2つのファイルは同階層に設置してください。
アップロードが完了したらdl.phpにアクセスしてみましょう。アクセスしたら設定したリダイレクト先へリダイレクトされると思います。
リダイレクトされたら、サーバーにあるcount.txtの中身を確認してみます。count.txtの中身が「1」になっていれば成功です。もし「0」のままだったら失敗しているので、間違っている場所がないかもう一度確認してみてください。
実際にどのような使い方をすればいいのか?
例えば、友達と相互リンクしたけど、自分のホームページから友達のホームページにどれくらいアクセスが渡っているか気になりますよね。
普通に相互リンクするときは、aタグで友達のリンク先を指定してあげればいいのですが、そのままリンクを貼るのではなく、dl.phpへのリンクを張り、dl.phpのリダイレクト設定部分に友達のリンクを貼るんです。
そうすれば自分のホームページからどれだけアクセスが渡っているかを把握する事が出来るという訳ですね。
PHPで簡単なカウンターを作ってみる まとめ
いかがだったでしょうか?WebデザイナーにとってPHPは少しハードルが高いと思うのですが、少しずつ楽しみながら覚えていくというのはアリかもしれないですね。
PHPの書き方もHTMLのコーディングと同じように十人十色だと思います。
今回作成したクリックカウンターも、プログラマーさんからみたらあまり良い書き方じゃないかもしれません。
でも、まぁ…動けばいいでしょ!って感じで、私は趣味程度にスクリプトを書いたりしています。
※本業はプログラマーではないので、仕事ではPHPを書いたりする事はほとんどありません。
スポンサードリンク