Manual do PHP
Anterior |  | Próxima

# fpassthru

(PHP 3, PHP 4 , PHP 5)

fpassthru -- Imprime todo os dados restantes de um ponteiro de arquivo

## Descrição

int fpassthru ( int handle)

Lê até o fim do arquivo (EOF) do ponteiro de arquivo dado e imprime os resultados para a buffer de saída.

Se um error ocorrer, a função fpassthru() retorna `FALSE`. No sucesso, fpassthru() retorna o número de caracteres lidos do handle e passado para a exibição.

O ponteiro de arquivo tem que ser válido e apontar para um arquivo aberto com sucesso por fopen(), popen() ou fsockopen(). Você pode precisar chamar rewind() para reiniciar o ponteiro do arquivo para o início do arquivo caso você já tenha escrito dados no arquivo. O arquivo é fechado quando fpassthru() acaba de ler (deixando handle sem utilidade).

Se você somente quiser jogar o conteúdo de um arquivo para o buffer de saída, sem primeiro modificar ou procurar por um detalhe qualquer, você pode querer usar a função readfile(), que vai economizar uma chamada a função fopen().

> Nota: Quando utilizando fpassthru() em um arquivo binário em sistemas Windows, você precisa verificar se abriu o arquivo em modo binário, acrescentando um b no modo informado na chamada de fopen().

> Você é encorajado a utilizar o modo b quando trabalhando com arquivos binários, mesmo que seu sistema não requira isso, de forma que seus scripts se tornem mais portáveis.

Exemplo 1. Using fpassthru() with binary files
`<?php // abre o arquivo em modo binário $name = ".\public\dev\img\ok.png"; $fp = fopen($name, 'rb'); // envia os headers header("Content-Type: image/png"); header("Content-Length: ".filesize($name)); // manda a imagem e pára o script fpassthru($fp); exit; ?>`

Veja também readfile(), fopen(), popen() e fsockopen()

Anterior | Principal | Próxima
fopen | Acima | fputs