| PHP講座 | ||
|---|---|---|
PHPとは |
||
| PHPの基本 | PHP関数 | |
| 文字列関数 | 数値関数 | |
| 正規表現 | ファイル操作 | |
ファイル操作
ファイル操作の順番- fopen ファイルを開く
- fputs , fgets 書き込みor読み込み
- fclose ファイルを閉じる
■1.$fh = @fopen( ファイル名 , "ファイルモード");
ファイルを開く※@はエラーメッセージの無視
| ファイルモード | 内容 |
|---|---|
| r | 読み込みのみ |
| r+ | 読み込み/書き出し |
| w | 書き出しのみ(ファイルがない場合は作成される) |
| w+ | 読み込み/書き出し(ファイルがない場合は作成される) |
| a | 追加書き出しのみ(ファイルがない場合は作成される) |
| a+ | 読み込み/書き出し(ファイルがない場合は作成される) |
■2.if (!$fh){ … ]
fopenでファイルが開けなかった場合の指定■3,5.flock(ファイルハンドル , ロック方法);
他の人が書き込み中は、そのファイルをロックして書き込めないように排他制御を行う。基本的には始めと最後に実行する。
| ロック方法 | 意味 | 内容 |
|---|---|---|
| LOCK_SH | 共有ロック | 解放されるまで他の書き込みはNG , 読み込みはOK |
| LOCK_EX | 排他ロック | 解放されるまで他の書き込み,読み込みNG |
| LOCK_UN | ロック解除 | 解放する |
■4.fputs($fh , $msg);
ファイルに$msgの内容を書き込む■6.fclose(ファイルハンドル);
ファイルを閉じるファイル書き込みの流れ
$filename = "aaa";$fh = @fopen($filename , "a");
if(!$fh){
exit("ファイルオープンに失敗しました");
}else{
flock($fh , LOCK_EX);
$msg = "bbb";
fputs($fh , $msg);
[処理]
flock($fh , LOCK_UN);
fclose($fh);
}
□if(file_exists(ファイル名)){
ファイルが存在するかどうかを確認するTRUE/FALSEが返る
□while(!feof(ファイルハンドル)){
ファイルを読み込み、最後に達したらTRUEを返すその間、繰り返す。
□$test = fgets(ファイルハンドル);
データを読み込み、$testに代入する。ファイル読み込みの流れ
$filename = "aaa";if(file_exists($filename){
$fh = @fopen($filename , "a");
if(!$fh){
exit("ファイルオープンに失敗しました");
}else{
while(!feof($fh)){
$test = fgets($fh);
[処理]
}
fclose($fh);
}
}
