関数・クラス解説

readfile

version:PHP 4, PHP 5, PHP 7 (公式)

ファイルを出力する

公式リファレンス

書式

readfile ( string $filename [, bool $use_include_path = FALSE [, resource $context ]] ) : int|false

説明

ファイルを読んで標準出力に書き出します。

パラメータ

filename
読み込もうとするファイルの名前。
use_include_path
オプションの2番目の引数を使用して、これにTRUEを設定することにより、 include_path のファイルの検索も行うことができます。
context
コンテキストストリームリソース。

返値

ファイルから読み込んだバイト数を返します。 失敗した場合に FALSE を返します

エラー

失敗したときは E_WARNING が発生します。

注意

注意: readfile() 自体にはメモリに関する問題はなく、 巨大なファイルを送ってもかまいません。out of memoryエラーが出る場合は、 ob_get_level() で出力バッファリングを無効にしてください。
ヒントfopen wrappers が有効の場合、この関数のファイル名としてURL を使用することができます。ファイル名の指定方法に関する詳細はfopen() を参照ください。サポートするプロトコル/ラッパー には、さまざまなラッパーの機能やその使用法、提供される定義済み変数などの情報がまとめられています。
注意: コンテキストのサポートは、PHP 5.0.0 で追加されました。contexts の説明に関しては、ストリーム を参照してください。

サンプル

例1 readfile() によるダウンロードの強制

$file = 'monkey.gif'; if (file_exists($file)) {     header('Content-Description: File Transfer');     header('Content-Type: application/octet-stream');     header('Content-Disposition: attachment; filename="'.basename($file).'"');     header('Expires: 0');     header('Cache-Control: must-revalidate');     header('Pragma: public');     header('Content-Length: ' . filesize($file));     readfile($file);     exit; }

上の例の出力は、たとえば以下のようになります。

参考

  • fpassthru() - ファイルポインタ上に残っているすべてのデータを出力する
  • file() - ファイル全体を読み込んで配列に格納する
  • fopen() - ファイルまたは URL をオープンする
  • include - include
  • require - require
  • virtual() - Apache サブリクエストを実行する
  • file_get_contents() - ファイルの内容を全て文字列に読み込む
  • サポートするプロトコル/ラッパー
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール