説明
string fread ( int handle, int length )
fread() は、ファイル ポインタ ハンドルから最大 length バイトを読み取ります。この関数は、最大 length バイトの読み取り後、または EOF に達したとき、または (ネットワーク ストリームの場合) パケットが使用可能になったとき、または (ユーザー空間ストリームを開いた後) 8192 バイトの読み取りが完了したときに呼び出されます。どの条件が最初に発生したかに応じて異なります。
読み取った文字列を返すか、エラーが発生した場合は FALSE を返します。
コードをコピーします コードは次のとおりです:
// ファイルの内容を文字列に取得します
$filename = "/usr/local/something.txt"; handle = fopen( $filename, "r");
$contents = fread($handle, filesize ($filename));
警告
;ファイルとテキスト ファイル (Windows など) ファイルを開くときは、fopen() 関数の mode パラメータに「b」を追加します。
コードは次のとおりです:$filename = "c:\files\somepic.gif"
$handle = fopen($filename, "rb") ;
$contents = fread($handle, filesize ($filename));
fclose($handle)?>
読み取り時などリモート ファイルまたは Popen() および proc_open() によって返されたストリームからの読み取りは、パケットが利用可能になった後に停止します。これは、以下の例に示すように、データを収集して大きなチャンクにマージする必要があることを意味します。
// PHP 5以降の場合 $handle = fopen("http://www.example.com/", " rb" );
$contents = stream_get_contents($handle);fclose($handle);
?>
$handle = fopen ("http://www.example.com/", " rb" );
$contents = "";
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
?>
注: ファイルの内容を文字列に読み込むだけの場合は、上記のコードよりもパフォーマンスがはるかに優れた file_get_contents() を使用してください。
追加:
file_get_contents
(PHP 4 >= 4.3.0, PHP 5)