array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.fscanf.php', 1 => 'fscanf', ), 'up' => array ( 0 => 'ref.filesystem.php', 1 => 'Funções do sistema de arquivos', ), 'prev' => array ( 0 => 'function.fread.php', 1 => 'fread', ), 'next' => array ( 0 => 'function.fseek.php', 1 => 'fseek', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/filesystem/functions/fscanf.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
fscanf — Interpreta a leitura de um arquivo de acordo com um formato
A função fscanf() é semelhante à
sscanf(), mas usa como entrada um arquivo
associado com o fluxo stream
e interpreta a
entrada de acordo com o especificado em format
.
Qualquer espaço em branco na string do formato corresponde a quaisquer espaços em branco
no fluxo de entrada. Isto significa que até mesmo uma tabulação (\t
) na
string do formato pode corresponder a um único caractere de espaço no fluxo de entrada.
Cada chamada a fscanf() lê uma linha do arquivo.
stream
Um resource de ponteiro do sistema de arquivos que normalmente é criado usando fopen().
format
O formato interpretado para string
, que é
descrito na documentação para sprintf() com
as seguintes diferenças:
F
, g
, G
e
b
não são suportados.
D
significa número decimal.
i
significa inteiro com detecção de base.
n
representa o número de caracteres processados até o momento.
s
pára de ler em qualquer caractere de espaço em branco.
*
em vez de argnum$
suprime
a atribuição desta especificação de conversão.
vars
Os valores opcionais atribuídos.
Se somente dois parâmetros forem passados a esta função, os valores interpretados serão retornados como um array. Do contrário, se parâmetros opcionais forem passados, a função retornará o número de valores atribuídos. Os parâmetros opcionais devem ser passados por referência.
Se houver mais substrings esperadas no parâmetro format
do que estiverem disponíveis na string
,
null
será retornado. Para outros erros, false
será retornado.
Exemplo #1 Exemplo de fscanf()
<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
list ($name, $profession, $countrycode) = $userinfo;
//... faz algo com os valores
}
fclose($handle);
?>
Exemplo #2 Conteúdo de users.txt
javier argonaut pe hiroshi sculptor jp robert slacker us luigi florist it