現在の位置: ホーム> 最新記事一覧> FILE_GET_CONTENTSとFREADインスタンス分析のPHP読み取りファイルの2つの一般的な方法の詳細な説明

FILE_GET_CONTENTSとFREADインスタンス分析のPHP読み取りファイルの2つの一般的な方法の詳細な説明

gitbox 2025-08-05

PHPによるファイルを読むための一般的な方法の概要

PHP開発では、ローカルテキストファイルやリモートリソースの読み取りであろうと、ファイルコンテンツの読み取りは非常に一般的な操作です。 PHPはさまざまな読み取り方法を提供します。その中で最も一般的に使用されるのは、 file_get_contentsfreadです。この記事では、これら2つの方法を詳細に紹介し、ファイルの読解力をすばやく習得するのに役立つ実用的なコード例を提供します。

file_get_contentsを使用してファイルを読み取ります

file_get_contentsは、ファイルコンテンツ全体を読み取るのに適したシンプルで直接ファイル読み取り機能です。ファイルのすべてのコンテンツを一度にメモリにロードし、文字列として返します。

 $file_contents = file_get_contents('file.txt');
echo $file_contents;

上記のコードでは、 file_get_contentsfile.txtという名前のファイルを読み取り、その内容を出力します。

リモートファイルの内容を読み取ります

ローカルファイルに加えて、 file_get_contentsを使用してリモートファイルを読み取ることもできます。リモートファイルのURLを渡すだけです。

 $file_contents = file_get_contents('http://www.example.com/file.txt');
echo $file_contents;

この例では、リモートサーバーでホストされているテキストファイルが読み取られ、その内容が出力されます。

バイナリファイルを読み取ります

file_get_contentsを使用して、写真などのバイナリファイルコンテンツを読み取ることもできます。適切なパラメーターを設定するだけです。

 $file_contents = file_get_contents('image.png', true);
echo $file_contents;

2番目のパラメーターを設定することにより、バイナリストリームの読み取りなど、特定のモードでファイルを読み取るように関数を指定できます。

Freadを使用してファイルを読み取ります

File_Get_Contentsと比較して、 FREADは、特にセグメント化された読み取りが必要な大きなファイルや状況を処理するのに適した柔軟性を高めます。これは、ストリームベースの読み方です。

 $file_handle = fopen('file.txt', 'r');
$file_size = filesize('file.txt');
$file_contents = fread($file_handle, $file_size);
fclose($file_handle);
echo $file_contents;

この例では、 FOPENを使用してファイルを開き、ファイルサイズにファイルサイズを取得し、 FREADがコンテンツを読み取り、最後にファイルハンドルを閉じます。

ラインごとにファイルコンテンツを読み取ります

ファイルコンテンツを行ごとに処理する必要がある場合、 FGETSは理想的であり、 FREADと組み合わせて行の読み取りロジックを実装できます。

 $file_handle = fopen('file.txt', 'r');
while (!feof($file_handle)) {
    $line = fgets($file_handle);
    echo $line;
}
fclose($file_handle);

上記のコードは、ログファイルまたは大きなテキストのラインレベルの処理に適したループを介して、ファイルのコンテンツラインを線で読み取ります。

要約します

PHPはファイルを読み取るためのさまざまな方法を提供します。ここでは、 FILE_GET_CONTENTSが完全なファイルコンテンツをすばやく読み取るのに適していますが、 FREADは大きなファイルを処理したり、オンデマンドの読み取りを必要とするときにパフォーマンスが向上します。開発者は、プログラムのパフォーマンスと保守性を向上させるために、さまざまなシナリオに従って適切な読解方法を柔軟に選択する必要があります。