php fileを使うget_contentsが大きなファイルを読み込む方法

1105 ワード

私達がテキストのファイルの体積がとても大きい時に出会って、例えば数十Mを越えて甚だしきに至っては数百M数Gの大きいファイルを上回って、手帳あるいはその他のエディタで開くのは往々にして成功することができなくて、彼らはすべてファイルの内容をメモリの中に置く必要があるため、この時メモリのオーバーフローが発生して間違いを開けて、このような情況に私達はPHPのファイルを使って関数file_を読み取ることができますget_contents()はセグメント読み込みを行います.
関数の説明string file_get_contents(string$filename[,bool$use_include_path[,resource$context[,int$offset[,int$maxlen]]]])はfile()と同様にfile_get_contents()ファイルを文字列に読み込みます.パラメータoffsetで指定した位置でmaxlen長のコンテンツの読み取りを開始します.失敗した場合、file_get_contents()はFALSEを返します.
file_get_contents()関数は、ファイルの内容を文字列に読み込むための最初の方法です.OSサポートでは、メモリマッピングテクノロジーも使用してパフォーマンスを向上させます.
適用:
 
  
$str = $content=file_get_contents("2.sql",FALSE,NULL,1024*1024,1024);
echo $str;

小さいファイルに対してセグメント読み出しのみを希望し、それを読み終える場合はfread()関数を使用します.
 
  
$fp=fopen('2.sql','r');
while (!feof($fp)){
$str.=fread($fp, filesize ($filename)/10);// 10 1
//
}

echo $str;


以上、fileの使用方法について説明します.get_contents関数で大きなファイルを読み取る方法は、超簡単でしょう.必要なパートナーは直接引っ越します.