fread

(PHP 4, PHP 5)

freadLeitura binary-safe de arquivo

Descrição

string fread ( resource $handle , int $length )

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

A file system pointer resource that is typically created using fopen().

length

Até length número de bytes lidos.

Valor Retornado

Retorna a string lida ou FALSE em caso de erro.

Exemplos

Example #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);
?>

Example #2 Exemplo de fread() binário

Warning

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);
?>

Example #3 Exemplos de fread() remoto

Warning

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

Note:

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