fscanf
(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
fscanf — Interpretiert den Input einer Datei entsprechend einem angegebenen Format
Beschreibung
Die Funktion fscanf() ist ähnlich zu
sscanf(), wobei sie ihren Input aus
der mit stream
angegebenen Datei liest, und
entsprechend dem angegebenen format
interpretiert.
Beliebige Whitespace-Zeichen (z. B. Leerzeichen, Tabulator, etc.)
im Format String gelten mit beliebigen Whitespace-Zeichen des
Input-Streams als übereinstimmend. Das heißt, dass auch ein
Tabulator (\t
) im Formatstring mit einem einzigen
Leerzeichen im Input-Stream als übereinstimmend gelten kann.
Jeder fscanf()-Aufruf liest eine Zeile aus der Datei aus.
Parameter-Liste
-
stream
-
Eine Dateisystemressource (resource), wie sie in der Regel von fopen() zurückgegeben wird.
-
format
-
Das interpretierte Format für
string
, wie es in der Dokumentation zu sprintf() beschrieben ist, mit den folgenden Unterschieden:- Die Funktion beachtet die Locale nicht.
-
F
,g
,G
undb
werden nicht unterstützt. -
D
steht für eine Dezimalzahl. -
i
steht für eine Ganzzahl mit Angabe der Basis. -
n
steht für die Anzahl der bisher verarbeiteten Zeichen. -
s
beendet das Lesen beim ersten Whitespace-Zeichen. -
*
anstelle vonargnum$
unterdrückt die Zuweisung dieser Umwandlungsspezifikation.
-
vars
-
Die optional zugewiesenen Werte.
Rückgabewerte
Wenn nur zwei Parameter an die Funktion übergeben wurden, werden die geparseten Werte in einem Array zurückgegeben. Andernfalls gibt die Funktion die Anzahl der zugewiesenen Werte zurück. Die optionalen Parameter müssen per Referenz übergeben werden.
Wenn im format
mehr Teilstrings erwartet werden,
als in string
verfügbar sind, wird null
zurückgegeben.
Bei anderen Fehlern wird false
zurückgegeben.
Beispiele
Beispiel #1 fscanf()-Beispiel
<?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 Inhalt der Datei users.txt
javier argonaut pe hiroshi sculptor jp robert slacker us luigi florist it
Siehe auch
- fread() - Liest Binärdaten aus einer Datei
- fgets() - Liest eine Zeile von der Position des Dateizeigers
- fgetss() - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
- sscanf() - Überträgt einen String in ein angegebenes Format
- printf() - Liefert einen formatierten String
- sprintf() - Gibt einen formatierten String zurück