😃
アクセスカウンター:ファイル編(簡単版)
この記事について
この記事は、以下の本の連載記事です。
ファイルアクセスについて
最近はデータの保存にデータベースを使うことが多いので、ファイルにデータを保存することは少なくなりました。それでもたまに、ファイルからデータを読み込んだり書き込んだりすることがありますので、ファイルの読み書きの基礎を勉強しておくことはとても重要です❗
パーミッションについて
プログラムそのものは簡単だと思いますが、まず最初につまづくのはパーミッションではないかと思います。パーミッションとは権限(アクセス権)のことです。詳しくは以下の記事にまとめてあります。
もしパーミッションを解決できなかった場合は、PHPに組み込まれている、Built-in WebServer の利用も検討してみて下さい。詳しくは以下の記事にまとめてあります。
アクセス数をファイルに保存するプログラム
以下のプログラムは、3点リーダーでコメントを省略しています。勉強のために、自分でコメントを埋めてみましょう❗
access_counter_easy.php
<?php
// ...
error_reporting(E_ALL);
// ...
$file_name = 'count.txt';
// ...
if(!file_exists($file_name) ){
$current_directory = getcwd();
echo "<p style='color:red;'>This file does not exist. ($current_directory, $file_name)</p>";
return;
}
// ...
if(!is_writable($file_name) ){
echo "<p style='color:red;'>Please add write permission to this file. ($file_name)</p>";
return;
}
// ...
$count = file_get_contents($file_name);
// ...
$count++;
// ...
file_put_contents($file_name, $count, LOCK_EX);
// ...
echo $count;
アクセスカウンター:ファイル編(難しい版)
簡単版をクリアしたら、次は難しい版にも挑戦して見ましょう❗
ヒント
- 英語のエラーが出たら、翻訳してみましょう。エラー文をそのまま検索するのも調べるコツです😉
- アクセス数を保存するファイルは自動的に作成されません。自分で作成しましょう📝
- Windowsにはパーミッションがありませんが(今はある?)、MacやLinuxにはパーミッションがあります。Macの場合は、Finderでファイルを選択して⌘キーとIキーを同時に押すと、ファイルの情報が表示され、そのウィンドウの中に書き込み権限の設定項目があります😝
Discussion