僕ログ日記

主にプログラミングと雑記。

※備忘 HTMLとCSSでサイト作ってみた-2(からのphp)

こんにち

昨日、簡単なhtmlサイトを作成したのですが、

あれもしたいこれもしたいが出てきたので

備忘も兼ねて記録。

①メールカウンターの設置(php)

やはりこういった動的なものはphpでプログラムを

組まなければいけないようだ。

無料でhtmlに組み込めそうなものもいくつかあったが、

せっかくなので下記のサイトを参考にして

一から作ってみた。

on-ze.com

何をしているかというと、

①まずはcount.txtという、数字の1だけが入った

データファイルの作成(ここに数字がカウントアップされていく。ファイル権限を606以上にして、ファイルの書き込み権限を与えるのを忘れずに)

②カウンタを入れたいファイルの拡張子を.phpに変更し、

カウンタを入れたい場所にプログラムを描いていく

③--------コード転記ここから--------------------

<?php

$counter_file = 'count.txt';
$counter_length = 8;
$fp = fopen($counter_file, 'r+');
if (flock($fp, LOCK_EX)) {
$counter = fgets($fp, $counter_length);
$counter++;
rewind($fp);
if (fwrite($fp, $counter) === FALSE) {
echo ('<p>'.'ファイル書き込みに失敗しました'.'</p>');
}
flock ($fp, LOCK_UN);
}


fclose ($fp);

------------ここまで----------------------------

$counter_fileにcount.txtファイルを代入
counter lengthにバイト数の指定
$fpに、ファイルのをオープンする関数を代入
if文にて、ファイルがオープンできたらデータを読み込み、
数字をカウントアップしてファイルのポインタを先頭に戻す命令
if文にて、書き込みができなければ書き込み失敗を出力する命令

flock関数を使用してファイルのロックと解除を忘れずに,,,


flock()指定したファイルのロック(他の人が同時に書き込めないようにファイルのロック)
LOCK_EXでロックし、LOCK_UNでロックの解除

※fgets 指定したファイルから内容を1行読み込む関数
※fclose() 指定したファイルを閉じる関数
※$○○++ $○○変数に数字の1を足す
※rewind()引数で指定したファイルポインタの位置を先頭に戻す
$fpに、fopen関数の代入

知らない関数がいっぱい出てきたので検索しまくってたら以下のサイトも発見
超、わかりやすいww

php-beginner.com

少し時間食ったがこうやってちゃんとまとめることにより
どのようにカウンタができているかしっかりと理解できた。
ファイルのオープン、書き込み命令は今後とも何か使うだろうから、
覚えておいて損はないだろう

 

メールカウンターについては以上。

あとはcssについて

cssは、ブラウザのキャッシュの関係で、

ファイルを更新しても内容が反映されない時がある。

恐ろしいのは、更新されたりされなかったりと気まぐれなのだ,,

キャッシュを削除すれば良いのだろうが、このご時世色々なサイトにログインIDやらが必要になってくるので、

僕は別ブラウザで開くようにはしているがじかんのもんだいだろう、、、

無駄な時間を浪費しないように、よく肝に命じておこう