fscanf
(PHP 4 >= 4.0.1, PHP 5)
fscanf — 从文件中格式化输入
说明
mixed fscanf
( resource $handle
, string $format
[, mixed &$...
] )
fscanf() 函数和
sscanf() 相似,但是它从与
handle
关联的文件中接受输入并根据指定的
format
(定义于 sprintf()
的文档中)来解释输入。
格式字符串中的任何空白会与输入流中的任何空白匹配。这意味着甚至格式字符串中的制表符 t 也会与输入流中的一个空格字符匹配。
每次调用 fscanf() 都会从文件中读取一行。
参数
handle
文件系统指针,是典型地由 fopen() 创建的 resource(资源)。
format
参数格式是 sprintf() 文档中所描述的格式。
...
The optional assigned values.
返回值
如果只给此函数传递了两个参数,解析后的值会被作为数组返回。否则,如果提供了可选参数,此函数将返回被赋值的数目。 可选参数必须用引用传递。
更新日志
版本 说明 4.3.0 在 PHP 4.3.0 之前,从文件中读入的最大字符数是 512(或者第一个 n,看先碰到哪种情况)。从 PHP 4.3.0 起可以读取任意长的行。
范例
Example #1 fscanf() 例子
<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%st%st%sn")) {
list ($name, $profession, $countrycode) = $userinfo;
//... do something with the values
}
fclose($handle);
?>
Example #2 users.txt 的内容
javier argonaut pe hiroshi sculptor jp robert slacker us luigi florist it
参见
fread() - 读取文件(可安全用于二进制文件) fgets() - 从文件指针中读取一行 fgetss() - 从文件指针中读取一行并过滤掉 HTML 标记 sscanf() - 根据指定格式解析输入的字符 printf() - 输出格式化字符串 sprintf() - Return a formatted string