fread

(PHP 4, PHP 5, PHP 7)

freadLeitura binary-safe de arquivo

Descrição

fread ( resource $handle , int $length ) : string

fread() lê até length bytes do ponteiro de arquivo informado em handle. A leitura é interrompida quando uma das seguintes condições são satisfeitas:

  • length bytes foram lidos
  • EOF (end of file - final do arquivo) é alcançado
  • um pacote tornou-se disponível (para network streams)
  • 8192 bytes foram lidos (depois de abrir um stream)

Parâmetros

handle

Um ponteiro de arquivo tipo resource tipicamente criado por fopen().

length

Até length número de bytes lidos.

Valor Retornado

Retorna a string lida ou false em caso de erro.

Exemplos

Exemplo #1 Um simples exemplo de fread()

<?php
// lê o conteúdo do arquivo para uma string
$filename "/usr/local/qualquer.txt";
$handle fopen ($filename"r");
$conteudo fread ($handlefilesize ($filename));
fclose ($handle);
?>

Exemplo #2 Exemplo de fread() binário

Aviso

Em sistemas que diferenciam entre arquivos binários e texto (por exemplo Windows) o arquivo tem que ser aberto com 'b' incluído no parâmetro 'mode' na fopen().

<?php
$filename 
"c:\\files\\figura.gif";
$handle fopen ($filename"rb");
$conteudo fread ($handlefilesize ($filename));
fclose ($handle);
?>

Exemplo #3 Exemplos de fread() remoto

Aviso

Ao ler de qualquer coisa que não seja um arquivo local comum, tal como de streams retornados ao ler arquivos remotos, ou de popen() e fsockopen(), a leitura irá parar depois que um pacote esteja disponível. Isto significa que você deve juntar os dados em blocos como demonstrado nos exemplos abaixo.

<?php
// Para o PHP 5 e superior
$handle fopen("http://www.example.com/""rb");
$contents stream_get_contents($handle);
fclose($handle);
?>
<?php
$handle 
fopen("http://www.example.com/""rb");
$contents '';
while (!
feof($handle)) {
  
$contents .= fread($handle8192);
}
fclose($handle);
?>

Notas

Nota:

Se você quer apenas pegar o conteúdo de um arquivo para uma string, utilize file_get_contents() que tem uma performance ainda melhor que o código acima.

Veja Também

  • fwrite() - Escrita binary-safe em arquivos
  • fopen() - Abre um arquivo ou URL
  • fsockopen() - Abre um socket de conexão Internet ou de domínio Unix
  • popen() - Abre um processo como ponteiro de arquivo
  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fgetss() - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • fscanf() - Interpreta a leitura de um arquivo de acordo com um formato
  • file() - Lê todo o arquivo para um array
  • fpassthru() - Imprime todo os dados restantes de um ponteiro de arquivo