readfile

(PHP 4, PHP 5, PHP 7, PHP 8)

readfileExibe o conteúdo de um arquivo

Descrição

readfile(string $filename, bool $use_include_path = false, ?resource $context = null): int|false

Lê um arquivo e escreve o seu conteúdo para o buffer de saída.

Parâmetros

filename

O nome do arquivo a ser lido.

use_include_path

Pode-se usar o segundo parâmetro opcional e configurá-lo para true, se for desejado procurar o arquivo no include_path também.

context

Um resource de contexto de stream.

Valor Retornado

Retorna o número de bytes lidos do arquivo em caso de sucesso, ou false em caso de falha

Erros/Exceções

Em caso de falha, um E_WARNING será emitido.

Exemplos

Example #1 Forçando um recebimento usando 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;
}
?>

O exemplo acima produzirá algo semelhante a:

Diálogo de Abrir / Salvar

Notas

Note:

readfile() não apresentará por si só nenhum problema de memória, mesmo no envio de grandes arquivos. Se for encontrado um erro de falta de memória, certifique-se que o buffer de saída está desligado com ob_get_level().

Tip

Uma URL pode ser usada como um nome de arquivo com esta função se os wrappers fopen estiverem habilitados. Consulte a função fopen() para mais detalhes sobre como especificar o nome do arquivo. Consulte os Protocolos e empacotadores suportados para obter links para informações sobre as capacidades de cada wrapper, notas de uso e informações sobre quaisquer variáveis predefinidas que eles possam fornecer.

Veja Também