ホームページ > バックエンド開発 > PHPチュートリアル > php fread()_PHP チュートリアルの使用に関するヒント

php fread()_PHP チュートリアルの使用に関するヒント

WBOY
リリース: 2016-07-21 15:41:30
オリジナル
1066 人が閲覧しました

説明
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);


注: ファイルの内容を文字列として読み込むだけの場合は、上記のコードよりもパフォーマンスがはるかに優れた file_get_contents() を使用してください。
追加:
file_get_contents
(PHP 4 >= 4.3.0, PHP 5)
file_get_contents -- ファイル全体を文字列に読み取ります
Description
string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )

file_get_contents() がファイルを文字列に読み取る点を除いて、 file() と同じです。長さ maxlen の内容は、offset パラメーターで指定された位置から読み取られます。失敗すると、file_get_contents() は FALSE を返します。
file_get_contents() 関数は、ファイルの内容を文字列に読み取るための推奨される方法です。オペレーティング システムがメモリ マッピング テクノロジをサポートしている場合は、パフォーマンスを向上させるためにメモリ マッピング テクノロジも使用されます。



http://www.bkjia.com/PHPjc/321192.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/321192.html技術記事説明 string fread ( int handle, int length ) fread() は、ファイル ポインタ ハンドルから最大 length バイトを読み取ります。この関数は最大 length バイトを読み取るか、EOF に達します...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート