http_send_file

(PECL pecl_http >= 0.1.0)

http_send_fileSend file

Beschreibung

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-Einstellungens: http.send.not_found_404 und http.log.not_found.

If the INI-Einstellungen http.send.not_found_404 is enabled and the INI-Einstellungen http.log.not_found points to a writable file, a log message is written when the file was not found.

Parameter-Liste

file

the file to send

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 A http_send_file() example

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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...

Siehe auch

add a note add a note

User Contributed Notes 3 notes

up
0
Adithyan
2 months ago
How to send a file to a specifed ip throw LAN using php . . . . .
up
0
razzbee
4 months 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
0
Pieter
1 year 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.
To Top