http_send_file

(PECL pecl_http >= 0.1.0)

http_send_fileSend file

Descrizione

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 impostazioni INIs: http.send.not_found_404 e http.log.not_found.

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

Elenco dei parametri

file

the file to send

Valori restituiti

Restituisce TRUE in caso di successo, FALSE in caso di fallimento.

Esempi

Example #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");
?>

Il precedente esempio visualizzerĂ :

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

Vedere anche:

add a note add a note

User Contributed Notes 3 notes

up
0
Adithyan
3 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