Forum und email

file

(PHP 4, PHP 5)

file — Lê todo o arquivo para um array

Descrição

array file ( string $filename [, int $flags [, resource $context ]] )

Carrega todo um arquivo em um array.

Nota: Você pode utilizar file_get_contents() para ler o conteúdo de um arquivo como string.

Parâmetros

filename

Caminho até o arquivo

Dica

Você pode usar uma URL com esta função se fopen wrappers estiver habilitado. Veja fopen() para mais detalhes em como especificar o nome do arquivo e List of Supported Protocols/Wrappers para uma lista de protocolos URL suportados.

flags

O parâmetro opcional flags pode ser uma ou mais das seguintes constantes:

FILE_USE_INCLUDE_PATH
Procurar pelo arquivo no include_path.
FILE_IGNORE_NEW_LINES
Não acrescentar a quebra de linha no final de cada elemento do array
FILE_SKIP_EMPTY_LINES
Ignorar linhas vazias
FILE_TEXT
O arquivo é retornado na codificação UTF-8. Você pode especificar uma codificação diferente criando um contexto personalizado. Esta constante não pode ser utilizada com FILE_BINARY. Esta flag está disponível apenas a partir do PHP 6.
FILE_BINARY
O conteúdo é lido como binário. Esta é a opção padrão e não pode ser utilizada com FILE_TEXT. Esta flag está disponível apenas a partir do PHP 6.

context

Um recurso de contexto criado com a função stream_context_create().

Nota: O suporte ao contexto foi adicionado com o PHP 5.0.0. Para uma descrição de contextos, veja Streams

Valor Retornado

Retorna o arquivo em um array. Cada elemento do array corresponde a uma linha no arquivo, ainda com a quebra de linha. Em caso de falha, file() retorna FALSE

Nota: Cada linha no array incluirá a quebra de linha, a não ser que FILE_IGNORE_NEW_LINES seja usado, então você ainda deve usar rtrim() se não desejar ter as quebras de linha presentes.

Nota: Se você está tendo problemas com o PHP no reconhecimento do final de linha quando criando ou lendo arquivos num computador Macintosh, você pode habilitar a opção auto_detect_line_endings.

Histórico

Versão Descrição
6.0.0 Adicionado suporte às flags FILE_TEXT e FILE_BINARY.
5.0.0 O parâmetro context foi adicionado
5.0.0 Até o PHP 5.0.0, o parâmetro flags suportava apenas include_path e era habilitado com 1
4.3.0 file() tornou-se segura para binários

Exemplos

Example#1 Exemplo de file()

<?php
// Lê um arquivo em um array.  Nesse exemplo nós obteremos o código fonte de
// uma URL via HTTP
$lines file ('https://www.example.com/');

// Percorre o array, mostrando o fonte HTML com numeração de linhas.
foreach ($lines as $line_num => $line) {
    echo 
"Linha #<b>{$line_num}</b> : " htmlspecialchars($line) . "<br>\n";
}

// Outro exemplo, onde obtemos a página web inteira como uma string. Veja também file_get_contents().
$html implode (''file ('https://www.example.com/'));
?>

Notas

Aviso

Quando usando SSL, o Microsoft IIS irá violar o protocolo fechando a conexão sem enviar uma notificação close_notify. O PHP acusará isso como sendo "SSL: Fatal Protocol Error" quando tentar ler os dados. Para prevenir isso, você deve baixar seu error_reporting para o nível que não emita warnings. O PHP 4.3.7 e seguintes conseguem detectar servidores IIS defeituosos quando você abre um stream utilizando o wrapper https:// e suprimirá a mensagem de warning para você. Se você está usando fsockopen() para criar um socket ssl://, a responsabilidade de detectar e suprimir esse warning passa para você.