小技プログラミング

PHPでファイルの内容を読み込む

PHPでファイルの内容を読み込む方法です。

下記サンプルコードは指定したファイルの中身を取得する関数です。
取得された文字列は1列ずつ配列に格納されて返却されます。

function GetFileStream($filePath){
//読み込みでオープンしポインタをファイルの先頭に置く
$fp = fopen($filePath,"r") or exit("Error");
//ファイルに共有ロックを掛ける
if(flock($fp, LOCK_SH)){
//ファイルポインタがファイル終端に達するまで繰り返し
while(!feof($fp)){
//ファイルポインタから一行取得して格納
$line = fgets($fp);
if(!empty($line)){
$aryline[] = $line;
}
}
//ロックを解放
flock($fp, LOCK_UN);
//ファイルをクローズ
fclose($fp);
}else{
print "ファイルのロックに失敗";
}
return $aryline;
}

上記関数GetFileStreamに対して読み込みたいファイルのパスを渡せば、ファイルの内容を取得する事が出来ます。
また、flock($fp,LOCK_SH)のLOCK_SHをLOCK_EXに変更すると、排他ロックになります。
ファイルの書き込みを行う際はLOCK_EXを指定します。

flock関数に関する詳しい情報は下記を参照してください。
http://jp1.php.net/manual/ja/function.flock.php