(PHP 4, PHP 5)
file — Lê todo o arquivo para um array
Carrega todo um arquivo em um array.
Nota: Você pode utilizar file_get_contents() para ler o conteúdo de um arquivo como string.
Caminho até o arquivo
Você pode usar uma URL como um nome de arquivo nesta 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.
O parâmetro opcional flags pode ser uma ou mais das seguintes constantes:
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 Stream Funções
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 PHP não está apropriadamente reconhecendo o final de linha quando lendo arquivos ou criando por um computador Macintosh, habilitando a opção auto_detect_line_endings em tempo de execução pode ajudar a resolver o problema.
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 |
Exemplo #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 ('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";
}
// Outro exemplo, onde obtemos a página web inteira como uma string. Veja também file_get_contents().
$html = implode ('', file ('http://www.example.com/'));
// Usando o parâmetro de flags opcionais disponíveis desde o PHP 5
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>
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, o valor de error_reporting deve ser reduzido para um nível que não inclui avisos. 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á os avisos. Se você está usando fsockopen() para criar um socket ssl://, a responsabilidade de detectar e suprimir esse aviso passa para você.