HOMEへ
本HPはhttp://webyoutility.web.fc2.com/に移設しました!(現状7割)
PHP講座
PHPとは
PHPの基本 PHP関数
文字列関数 数値関数
正規表現 ファイル操作

ファイル操作

ファイル操作の順番
  1. fopen ファイルを開く
  2. fputs , fgets 書き込みor読み込み
  3. 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);
 }
}

 

SEO [PR] !uO z[y[WJ Cu