Главные новости

fscanf

fscanf

(PHP 4 >= 4.0.1, PHP 5)

fscanf - Обрабатывает данные из файла в соответствии с форматом

Описание

mixed fscanf ( resource handle, string format [, mixed &...] )

Функция fscanf() похожа на sscanf(), но берёт данные для обработки из файла, ассоциируемого с handle, и интерпретирует их согласно формату format, который описан в документации функции sprintf(). Если в функцию переданы только два аргумента, обработанные значения будут возвращены в виде массива. В ином случае, если были переданы необязательные аргументы, функция вернёт количество присвоенных значений. Необязательные аргументы должны быть переданы по ссылке.

Любое пустое пространство в строке формата эквивалентно любому пустому пространству во входящем потоке. Это означает, что даже табуляция \t в строке формата может быть сопоставлена одному символу пробела во входящем потоке данных.


Пример 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);
?>

Пример 2. Содержимое файла users.txt

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

Замечание: В версиях PHP ниже 4.3.0, максимальное количество символов, которые считывались из файла, составляло 512 (или до первого символа \n - смотря что встретится первым). Начиная с версии PHP 4.3.0, длинна строк не ограничена.

См. также описание функций fread()fgets()fgetss()sscanf()printf() и sprintf().