Forum und email

fscanf

(PHP 4 >= 4.0.1, PHP 5)

fscanf — Interpretiert den Input einer Datei entsprechend einem angegebenen Format

Beschreibung

mixed fscanf ( resource $handle , string $format [, string $var1 ] )

Die Funktion fscanf() ist sscanf() ähnlich, wobei sie ihren Input aus der mit handle angegebenen Datei nimmt, und entsprechend dem angegebenen format interpretiert. Sind nur 2 Parameter angegeben, werden die analysierten Werte als Array zurückgegeben. Werden auch optionale Parameter übergeben, gibt die Funktion die Anzahl der ermittelten Werte zurück. Die optionalen Parameter müssen referenziert übergeben werden.

Irgendwelche Whitespace-Zeichen (z.B. Leerzeichen, Tabulator, etc.) im Format String gelten mit irgendwelchen Whitespace-Zeichen des Input-Streams als übereinstimmend. Das heißt, dass auch ein Tabulator \t im Format String mit einem einzigen Leerzeichen im Input-Stream als übereinstimmend gelten kann.

Example#1 fscanf()

<?php
$handle 
fopen ("users.txt","r");
while (
$userinfo fscanf ($handle"%s\t%s\t%s\n")) {
    list (
$name$profession$countrycode) = $userinfo;
    
//... Tue etwas mit den Werten
}
fclose($handle);
?>

Example#2 users.txt

javier  argonaut        pe
hiroshi sculptor        jp
robert  slacker us
luigi   florist it

Hinweis: Vor PHP 4.3.0 war die maximale Anzahl der von der Datei eingelesenen Zeichen 512 (oder bis zu dem ersten \n, was zuerst eintrat). Seit PHP 4.3.0 werden beliebig lange Zeilen gelesen und interprtiert.

Siehe auch fread(), fgets(), fgetss(), sscanf(), printf(), und sprintf().