Forum und email

fscanf

(PHP 4 >= 4.0.1, PHP 5)

fscanf — Ontleed de invoer van een bestand volgens een formaat

Beschrijving

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

Deze functie fscanf() is gelijkend aan sscanf(), maar het gebruikt de invoer van een bestand waarnaar handle verwijst en interperteert de invoer door middel van het aangegeven format , die besproken wordt in de documentatie van sprintf(). Als alleen twee parameters worden meegegeven aan deze functie, worden de verwerkte waardes terug gegeven als een array. Anders, als er optionele parameters worden meegegeven, geeft de functie het aantal verwerkte waardes terug. De optionele parameters moeten worden meegegeven als verwijzingen.

Enige 'whitespace' in de format string komt overeen met enige 'whitespace' in de input. Dit betekent dat zelfs een tab \t in de format string overeenkomt met een enkele spatie in de input.

Example#1 fscanf() voorbeeld

<?php
$handle 
fopen ("users.txt","r");
while (
$userinfo fscanf ($handle"%s\t%s\t%s\n")) {
    list (
$name$profession$countrycode) = $userinfo;
    
//... doe iets met deze waardes
}
fclose($handle);
?>

Example#2 users.txt

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

Note: Voor PHP 4.3.0, de maximaal aantal tekens per keer dat gelezen kon worden uit het bestand was 512 (of tot de eerste \n, welke ook als eerste kwam). Vanaf PHP 4.3.0 worden ook lange regels gelezen en gescand.

Zie ook fread(), fgets(), fgetss(), sscanf(), printf(), en sprintf().