Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

fscanf

Dateisystem-Funktionen

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


    Parameter-Liste:
NameBeschreibung
handleEine Dateisystemressource (resource), wie sie in der Regel von fopen() zurückgegeben wird.
formatDas erwartete Format, wie es in der sprintf() Dokumentation beschrieben ist.
...Optionale als Referenz übergebene Variablen, in welche die geparsten Werte geschrieben werden sollen.

    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.

    Beschreibung:
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 heisst, dass auch ein Tabulator /t im Format String mit einem einzigen Leerzeichen im Input-Stream als übereinstimmend gelten kann.


    Aktiv in Version:
(PHP 4 >= 4.0.1, PHP 5, PHP 7)

    Hinweis:
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()
Liest Binärdaten aus einer Datei
 
•  fgets()
Liest eine Zeile von der Position des Dateizeigers
 
Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags
 
Überträgt einen String in ein angegebenes Format
 
Gibt einen formatierten String aus
 
Gibt einen formatierten String zurück
 

fscanf() - Beispiel:


Eingabe:
<?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);
?>

users.txt

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


Beschreibung:
Version Beschreibung
4.3.0 In früheren Versionen wurden maximal 512 Zeichen pro Aufruf eingelesen. Ab PHP 4.3.0 werden beliebig lange Zeile eingelesen und interpretiert.
fscanf() - Beispiel 2:


Eingabe:
<?PHP
//Inhalt der Datei member.txt:
/*Damir Enseleit 1971
Karl Mustermann 1970
Petra Mustermann 1972*/

$fp = fopen ( 'member.txt', 'r' );
while ( $data = fscanf ( $fp, '%s %s %s' ) )
{
  list ( $vorname, $nachname, $jahr ) = $data;
  echo 'Vorname: ' . $vorname . '<br>';
  echo 'Nachname: ' . $nachname . '<br>';
  echo 'Jahrgang: ' . $jahr . '<br><br>';
}

fclose ( $fp );
?>


Ausgabe:
Vorname: Damir
Nachname: Enseleit
Jahrgang: 1971

Vorname: Karl
Nachname: Mustermann
Jahrgang: 1970

Vorname: Petra
Nachname: Mustermann
Jahrgang: 1972

Beschreibung:
Version Beschreibung
4.3.0 In früheren Versionen wurden maximal 512 Zeichen pro Aufruf eingelesen. Ab PHP 4.3.0 werden beliebig lange Zeile eingelesen und interpretiert.
Dateisystem-Funktionen