(PHP 4 >= 4.0.1, PHP 5)
fscanf — Обрабатывает данные из файла в соответствии с форматом
Функция fscanf() похожа на sscanf(), но берёт данные для обработки из файла, ассоциируемого с handle , и интерпретирует их согласно формату format , который описан в документации функции sprintf(). Если в функцию переданы только два аргумента, обработанные значения будут возвращены в виде массива. В ином случае, если были переданы необязательные аргументы, функция вернёт количество присвоенных значений. Необязательные аргументы должны быть переданы по ссылке.
Любое пустое пространство в строке формата эквивалентно любому пустому пространству во входящем потоке. Это означает, что даже табуляция \t в строке формата может быть сопоставлена одному символу пробела во входящем потоке данных.
Example#1 Пример использования функции fscanf()
<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
list ($name, $profession, $countrycode) = $userinfo;
//... совершаем какие-либо действия над значениями
}
fclose($handle);
?>
Example#2 Содержимое файла users.txt
javier argonaut pe
hiroshi sculptor jp
robert slacker us
luigi florist it
Note: В версиях PHP ниже 4.3.0, максимальное количество символов, которые считывались из файла, составляло 512 (или до первого символа \n - смотря что встретится первым). Начиная с версии PHP 4.3.0, длинна строк не ограничена.
См. также описание функций fread(), fgets(), fgetss(), sscanf(), printf() и sprintf().