(PHP 4 >= 4.0.1, PHP 5)
fscanf — Interpretiert den Input einer Datei entsprechend einem angegebenen Format
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.
Beispiel #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);
?>
Beispiel #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().