readfile

(PHP 4, PHP 5, PHP 7)
Outputs a file
int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )

Reads a file and writes it to the output buffer.

Parameters:
filename

The filename being read.

use_include_path

You can use the optional second parameter and set it to TRUE, if you want to search for the file in the include_path, too.

context

A context stream resource.

Returns:

Returns the number of bytes read from the file. If an error occurs, FALSE is returned and unless the function was called as @readfile(), an error message is printed.

Notes:

readfile() will not present any memory issues, even when sending large files, on its own. If you encounter an out of memory error ensure that output buffering is off with ob_get_level().

Context support was added with PHP 5.0.0. For a description of contexts, refer to Streams.
Examples:
Forcing a download using readfile()
<?php
$file = 'monkey.gif';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}
?>

The above example will output something similar to:

Open / Save dialogue
See also:

fpassthru() -

file() -

fopen() -

include -

require -

virtual() -

file_get_contents() -

Supported Protocols and Wrappers -

doc_php
2016-02-24 15:56:58
Comments
Leave a Comment

Please login to continue.