Função fpassthru() do PHP
Definição e uso
O fpassthru() escreve todos os dados restantes no ponteiro de arquivo.
Esta função lê o ponteiro de arquivo fornecido a partir da posição atual até EOF e escreve o resultado no buffer de saída.
Sintaxe
fpassthru(file)
Parâmetros | Descrição |
---|---|
file | Obrigatório. Especifica o arquivo ou recurso aberto a ser lido. |
Descrição
Se ocorrer um erro, fpassthru() retorna false. Caso contrário, fpassthru() retorna de file Ler e passar para a quantidade de caracteres transmitidos para a saída.
O ponteiro de arquivo deve ser válido e deve apontar para um arquivo fopen() Ou fsockopen() abrir com sucesso (mas ainda não foi fclose() arquivos que foram abertos com fclose() (fechados).
Dicas e comentários
Dica:Se você já escreveu dados no arquivo, é necessário chamar rewind() para direcionar o ponteiro do arquivo para o início do arquivo.
Dica:Se você não deseja modificar o arquivo nem procurar em um local específico, mas apenas deseja baixar o conteúdo do arquivo para o buffer de saída, você deve usar readfile()Isso permite evitar a chamada fopen().
Comentário:Quando usar fpassthru() em arquivos binários no sistema Windows, certifique-se de que o arquivo seja aberto em modo binário adicionando b no modo fopen(). É encorajado usar o sinal b ao lidar com arquivos binários, mesmo que o sistema não precise, para melhorar a portabilidade do script.
Exemplo
Exemplo 1
<?php $file = fopen("test.txt","r"); // Leia a primeira linha fgets($file); // Envie o resto do arquivo para o cache de saída echo fpassthru($file); fclose($file); ?>
Saída:
There are three lines in this file. This is the last line.59
Nota:59 indica o número de caracteres passados.
Exemplo 2
Despejar a página inicial do servidor www:
<?php $file = fopen("http://www.example.com","r"); fpassthru($file); ?>