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.
http_send_file
(PECL pecl_http >= 0.1.0)
http_send_file — Send file
说明
bool http_send_file
( string
$file
)Sends a file with support for (multiple) range requests.
This functions behaviour and further action is dependent on the following INI 设置s: http.send.not_found_404 和 http.log.not_found.
If the INI 设置 http.send.not_found_404
is enabled and the INI 设置 http.log.not_found
points to a writable file, a log message is written when the file was not found.
参数
-
file -
the file to send
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。
范例
Example #1 A http_send_file() example
<?php
http_send_content_disposition("document.pdf", true);
http_send_content_type("application/pdf");
http_throttle(0.1, 2048);
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...
参见
- http_send_data() - Send arbitrary data
- http_send_stream() - Send stream
- http_throttle() - HTTP throttling
- http_send_content_type() - Send Content-Type
- http_send_content_disposition() - Send Content-Disposition
- 如使用 PHP 5.1.0 及以后版本中为 HttpResponse 类。
