PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

fpassthru - ファイルポインタ上に残っているすべてのデータを出力する | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

fpassthru

(PHP 4, PHP 5, PHP 7)

fpassthruファイルポインタ上に残っているすべてのデータを出力する

説明

int fpassthru ( resource $handle )

与えられたファイルポインタを EOF まで読み、結果を出力バッファに書き出します。

ファイルに既にデータを書き終えている場合で ファイルポインタをファイルの先頭にリセットするには rewind() をコールする必要があります。

ファイルを更新したり特定のオフセットを探すのではなく 内容を出力バッファにダンプしたいだけの場合、 readfile() を使用することが可能です。 この場合、fopen() コールは必要ありません。

パラメータ

handle

ファイルポインタは、有効なファイルポインタである必要があり、 fopen() または fsockopen() で正常にオープンされた (そしてまだ fclose() でクローズされていない) ファイルを指している必要があります。

返り値

エラーが起こった場合、fpassthru()FALSE を返します。 それ以外の場合、fpassthru()handle から読み込んだ文字の数を返し、出力へ渡します。

例1 バイナリファイルに対する fpassthru() の使用例

<?php

// バイナリモードでファイルをオープンする
$name './img/ok.png';
$fp fopen($name'rb');

// 正しいヘッダを送出する
header("Content-Type: image/png");
header("Content-Length: " filesize($name));

// 画像をダンプしスクリプトを終了する
fpassthru($fp);
exit;

?>

注意

注意:

fpassthru() を Windows システムのバイナリファイルで 使用する場合、fopen() をコールする際に モードに b を追加してバイナリモードでファイルを オープンするようにしてください。

バイナリファイルを扱う場合は、必要でなくても b フラグを使用するようにしましょう。 それにより、スクリプトの可搬性がより高くなります。

参考

  • readfile() - ファイルを出力する
  • fopen() - ファイルまたは URL をオープンする
  • popen() - プロセスへのファイルポインタをオープンする
  • fsockopen() - インターネット接続もしくは Unix ドメインソケット接続をオープンする


忘却曲線を使ってこの関数を確実に記憶に残す

フォーラムで「fpassthru - ファイルポインタ上に残っているすべてのデータを出力する」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | fpassthru - ファイルポインタ上に残っているすべてのデータを出力する」をGoogle検索
copyright © 1997-2019 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: