Forum und email

fscanf

(PHP 4 >= 4.0.1, PHP 5)

fscanf — Parsuje vstup zo súboru podľa zadaného formátu

Popis

mixed fscanf ( resource $deskriptor , string $formát [, string $var1 ] )

Funkcia fscanf() je podobná funkcii sscanf(), až na to, že svoj vstup načítava zo súboru špecifikovaného pomocou parametra deskriptor . Tento vstup ďalej interpretuje predpísaným spôsobom podľa parametra formát . Ak bola táto funkcia použitá len s dvoma parametrami, interpretované hodnoty budú vrátené v poli. V opačnom prípade, ak boli použité aj nepovinné parametre, funkcia vráti počet hodnôt, ktoré boli priradené týmto parametrom. Voliteľné parametre musia byť odovzdávané odkazom.

Znak reprezentujúci biele miesta (whitespace) vo formáte bude zodpovedať ľubovoľnému inému znaku typu whitespace vo vstupnom prúde. To znamená, že napr. znaku tabulátora \t vo formátovom reťazci zodpovedá aj napr. znak medzery vo vstupnom prúde (pretože oba sú znaky bieleho miesta).

Example#1 Príklad na fscanf()

$deskriptor = fopen ("uzivatelia.txt","r");
while ($uziv_info = fscanf ($deskriptor, "%s\t%s\t%s\n")) {
    list ($meno, $zamestnanie, $kod_krajiny) = $uziv_info;
    //... spracujeme nejak hodnoty
}
fclose($deskriptor);

Example#2 uzivatelia.txt

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

Note: Vo verziách pred PHP 4.3.0 bol maximálny počet znakov načítaných zo súboru 512 (alebo pokiaľ sa nevyskytol znak \n, podľa toho, ktorý z prípadov nastal skôr). Od PHP 4.3.0 môžu byť načítavané a spracovávané ľubovoľne dlhé riadky.

Pozri tiež fread(), fgets(), fgetss(), sscanf(), printf() a sprintf().