😃

アクセスカウンター:ファイル編(簡単版)

2022/04/23に公開

この記事の動作サンプルはこちら

この記事について

この記事は、以下の本の連載記事です。
https://zenn.dev/phpbeginners/books/49b9ede3c8c30e/viewer/62bec3

ファイルアクセスについて

最近はデータの保存にデータベースを使うことが多いので、ファイルにデータを保存することは少なくなりました。それでもたまに、ファイルからデータを読み込んだり書き込んだりすることがありますので、ファイルの読み書きの基礎を勉強しておくことはとても重要です❗

パーミッションについて

プログラムそのものは簡単だと思いますが、まず最初につまづくのはパーミッションではないかと思います。パーミッションとは権限(アクセス権)のことです。詳しくは以下の記事にまとめてあります。

https://zenn.dev/phpbeginners/articles/84cbe1de6c9689

もしパーミッションを解決できなかった場合は、PHPに組み込まれている、Built-in WebServer の利用も検討してみて下さい。詳しくは以下の記事にまとめてあります。
https://zenn.dev/phpbeginners/articles/b53847bf620961

アクセス数をファイルに保存するプログラム

以下のプログラムは、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;

アクセスカウンター:ファイル編(難しい版)

簡単版をクリアしたら、次は難しい版にも挑戦して見ましょう❗
https://zenn.dev/phpbeginners/articles/f2780aba2b6548

ヒント

  1. 英語のエラーが出たら、翻訳してみましょう。エラー文をそのまま検索するのも調べるコツです😉
  2. アクセス数を保存するファイルは自動的に作成されません。自分で作成しましょう📝
  3. Windowsにはパーミッションがありませんが(今はある?)、MacやLinuxにはパーミッションがあります。Macの場合は、Finderでファイルを選択して⌘キーとIキーを同時に押すと、ファイルの情報が表示され、そのウィンドウの中に書き込み権限の設定項目があります😝

Discussion