【PHP8.x】readfile関数の使い方

作成日: 更新日:

readfile関数は、指定されたファイルを読み込み、その内容を直接出力バッファに書き込む関数です。この関数は、特にWebアプリケーションにおいて、サーバー上のファイルをユーザーのWebブラウザに直接表示したり、ダウンロードさせたりする際に非常に役立ちます。例えば、PDFファイルや画像ファイル、テキストファイルなどをWebページ上で提供したい場合に利用されます。

readfile関数は、ファイルをメモリに読み込むことなく直接出力を行うため、非常に大きなファイルを扱う場合でもシステムのメモリ消費を抑えることができます。これは、ダウンロードサービスなど、大量のデータ転送が必要なアプリケーションにとって重要な利点です。

この関数は、読み込みたいファイルのパスを引数として受け取ります。ファイルが見つかり、読み込みに成功した場合は、読み込んだバイト数を整数値として返します。しかし、ファイルが見つからない、または読み込み権限がないなどの理由で失敗した場合は、falseを返します。

readfile関数を使用する際には、ファイルの内容が出力される前に適切なHTTPヘッダー(Content-TypeContent-Dispositionなど)を設定することが重要です。これにより、ブラウザがファイルの種類を正しく認識し、表示またはダウンロードの動作を適切に行うことができます。この関数は、Webサイト上でファイルコンテンツを効率的に提供するための基本的な機能として広く利用されています。

基本的な使い方

構文(syntax)

readfile('path/to/your/file.txt');

引数(parameters)

string $filename, bool $use_include_path = false, resource $context = null

  • string $filename: 読み込むファイルの名前を指定します。
  • bool $use_include_path = false: trueに設定すると、PHPのinclude_path内を検索してファイルを読み込みます。
  • resource $context = null: ストリームコンテキストを指定します。

戻り値(return)

int|false

readfile関数は、指定されたファイルを読み込んで直接出力し、読み込んだバイト数を返します。ファイルが存在しない、または読み込めない場合はfalseを返します。