ブラウザーの更新により、同じフォーマットで行が増えて、時刻と乱数が変化するプログラム
※アクセスカウンターやファイルの記録、アクセスログの取得に活用できます。
fopen・・・ファイルを開く
fputs・・・テキスト書き込む
fgets・・・テキストを読む
fclose・・・ファイルを閉じる
<head> <meta http-equiv=”Content-type” content=”text/html; charset=euc-jp”> <title>ファイルの読み書き方法</title> </head> <?php // □ ファイルの作成 //hh(XX時)をファイル名にする $filename = date(“H”) .”.txt”; //追加書き込みモードで開く(ファイルが無いときは作成) $fh = @fopen($filename,”a”); if (!$fh){ //メッセージを出してスクリプトを終了 exit(“ファイル書き込みのオープンで失敗しました”); }else{ //排他ロック flock($fh,LOCK_EX); //乱数を保存と日付と区切り文字(.” ==> “) $msg = date(“Y/m/d H:i:s”) .” ==> “; //1から9999までの乱数と改行(¥n) $msg.= rand(1,9999) .”\n”; //書き出し fputs($fh,$msg); //ロックを解除 flock($fh,LOCK_UN); //ファイルを閉じる fclose($fh); } //——————————————— // □ ファイルを読む //file_exists関数でファイル名またはディレクトリを確認。 //あればTUREなければFALSE if (file_exists($filename)){ //読み取りモードで開く。 //@マークは式の前につけるとエラーメッセージを無視します。 $fh = @fopen($filename,”r”); if (!$fh){ //メッセージを出してスクリプトを終了 exit(“ファイル読み込みのオープンで失敗しました”); }else{ while(!feof($fh)){ //一行ずつ(改行記号まで)最後まで読み込み $temp = fgets($fh); //内容を出力 if ($temp>”"){echo str_replace(“\n”,”<br>”,”★$temp”);} } //ファイルを閉じる fclose($fh); } } ?>
ファイルのモード
r ・・・読込のみでオープン
r+ ・・・読込/書出し用にオープン
w ・・・書出しのみでオープン 一行のみ表示
w+ ・・・読込/書出し用でオープン
a ・・・追加書出しのみでオープン 複数行表示
a+ ・・・読込/追加書出し用でオープン
LOCK_SH ・・・解放されるまで他の書き込みNG、読込はOK
LOCK_EX ・・・解放されるまで他の書き込み、読込もNG
LOCK_UN ・・・解放
0 件のコメント:
コメントを投稿