2011年4月4日月曜日

前回のファイルをフォルダに入れてみよう

前回のファイルを作成したフォルダの中に保存させてみよう!
前回のフィルの読込・書込み方法では、ディレクトリ指定がされていないので、ファイルはプログラムと同じ階層に保存されているのがわかると思います。
※ファイルサイズ表示をしたい場合=filesize(ファイル名)
※ファイルの更新時間表示をしたい場合=date(“Y/m/d H:i:s”,filemtime(ファイル名))

これを違う場所に作成させたい場合は、mkdir関数を使用すると便利です。

TRUE/FALSE= mkdir(ディレクトリ名,パーミッション(デフォルト:0777))
前回のファイルに追加でフォルダ作成のコマンドを打ち込むだけです。

<head>
<meta http-equiv=”Content-type” content=”text/html; charset=euc-jp”>
<title>ファイルの読み書き方法</title>
</head>
<?php
// □ フォルダの作成
$folder = "test";
if (!file_exists($folder)){
mkdir($folder,0755);
}
// □ ファイルの作成
//hh(XX時)をファイル名にする
$filename = "$folder/" .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);
}
}
?>

太文字の部分を修正するだけで、ディレクトリが作成され、そのフォルダの中にファイルが保存されます。

0 件のコメント:

コメントを投稿