http_send_file

(PECL pecl_http >= 0.1.0)

http_send_fileファイルを送信する

説明

bool http_send_file ( string $file )

(複数の) range リクエストをサポートするファイルを送信します。

この関数の振る舞いおよびその後の動作は、以下の INI 設定 http.send.not_found_404 そして http.log.not_found に依存します。

INI 設定 http.send.not_found_404 が有効で INI 設定 http.log.not_found が書き込み可能なファイルを指している場合は、file が見つからないときにそこにログメッセージが書き込まれます。

パラメータ

file

送信するファイル。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 http_send_file() の例

<?php
http_send_content_disposition
("document.pdf"true);
http_send_content_type("application/pdf");
http_throttle(0.12048);
http_send_file("../report.pdf");
?>

上の例の出力は以下となります。

HTTP/1.1 206 Partial Content
X-Powered-By: PHP/5.2.2
Accept-Ranges: bytes
Content-Length: 12345
Content-Range: bytes 0-12344
Content-Type: application/pdf
Content-Disposition: inline; filename="document.pdf"

%PDF...

参考

add a note add a note

User Contributed Notes 3 notes

up
2
razzbee
11 years ago
<?php
http_send_content_disposition
("document.pdf", true);
http_send_content_type("application/pdf");
http_throttle(0.1, 2048);
http_send_file("../report.pdf");
?>

None of the function above works with pecl_http 2.3 , I kept on getting Fatal error: Call to undefined function http_send_content_disposition() in xxxxxxx , I dont know ,but maybe its a bug in php 5.4 with centos 6.4  , The solution was just simple, I removed pecl_http 2.3 and installed  Pecl_http package to 1.7.6 using the command below :
pecl remove pecl_http
pecl install http://pecl.php.net/get/pecl_http-1.7.6.tgz
up
2
Pieter
11 years ago
This function does not work together nicely with output buffering (ob_start etc.). If you get memory allocation errors, it probably means that you have got output buffering turned on and you should turn off output buffering.
up
1
dj
9 years ago
Above mentioned example is for version 1.

If you want an working example for v2 see devel-m6w6.rhcloud.com/mdref/http/Env/Response/setContentDisposition

Because windows.php.net/downloads/pecl/releases/http/ stores only v2 versions, all http plugin related function pages at php.net/manual/en/book.http.php should contain the following with big red bloody font:
THIS IS DOCUMENTATION FOR V1 WHICH WE DO NOT SUPPORT ANYMORE. SEE devel-m6w6.rhcloud.com/mdref/http FOR UPDATED DOCUMENTATION. Note: Functions are available by clicking subelements under http at tree which is positioned at right top position.
To Top