file
(PHP 4, PHP 5)
file — Lê todo o arquivo para um array
Descrição
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
DicaVocê 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
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ê.