file

(PHP 4, PHP 5, PHP 7, PHP 8)

fileLê todo o arquivo para um array

Descrição

file(string $filename, int $flags = 0, ?resource $context = null): array|false

Carrega todo um arquivo em um array.

Note:

Pode-se utilizar file_get_contents() para retornar o conteúdo de um arquivo como uma string.

Parâmetros

filename

Caminho para o arquivo.

Tip

Uma URL pode ser usada como um nome de arquivo com esta função se os wrappers fopen estiverem habilitados. Consulte a função fopen() para mais detalhes sobre como especificar o nome do arquivo. Consulte os Protocolos e empacotadores suportados para obter links para informações sobre as capacidades de cada wrapper, notas de uso e informações sobre quaisquer variáveis predefinidas que eles possam fornecer.

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
Omite a quebra de linha no final de cada elemento do array
FILE_SKIP_EMPTY_LINES
Pula linhas vazias
FILE_NO_DEFAULT_CONTEXT
Não usa o contexto padrão
context

Um resource de contexto de stream.

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

Note:

Cada linha no array incluirá a quebra de linha, a não ser que FILE_IGNORE_NEW_LINES seja usado.

Note: Se o PHP não estiver reconhecendo corretamente os finais de linha ao ler arquivos em um computador Macintosh ou que foram criados em um, habilitar a opção de configuração em tempo de execução auto_detect_line_endings pode ajudar a resolver o problema.

Erros/Exceções

Emite um aviso E_WARNING se o arquivo não existe.

Exemplos

Example #1 Exemplo de file()

<?php
// Lê um arquivo em um array.  Nesse exemplo será obtido o código fonte HTML de
// uma URL via HTTP
$lines = file ('http://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";
}

// Usando o parâmetro de opções opcionais
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

Notas

Warning

Ao usar SSL, o Microsoft IIS violará o protocolo fechando a conexão sem enviar uma notificação close_notify. O PHP reportará isso como "SSL: Fatal Protocol Error" quando chegar ao final dos dados. Para contornar isso, o valor de error_reporting deve ser reduzido a um nível que não inclua avisos. O PHP pode detectar servidores IIS defeituosos quando o stream é aberto usando o wrapper https:// e suprimirá o aviso. Ao usar fsockopen() para criar um soquete ssl://, o desenvolvedor é responsável por detectar e suprimir este aviso.

Veja Também