(PHP 4, PHP 5)
file — Lê todo o arquivo para um array
$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.
filename
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 Supported Protocols and 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
FILE_IGNORE_NEW_LINES
FILE_SKIP_EMPTY_LINES
FILE_TEXT
FILE_BINARY
. Esta flag está disponível
apenas a partir do PHP 6.
FILE_BINARY
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 no PHP 5.0.0. Para uma descrição de contextos, veja Streams.
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ê.