读取和写入文件

 
 
 

fopenfwritefprintfreadfclose 命令可用于处理文件。

打开文件

在读取或写入文件前,需要使用 fopen 函数打开文件。

fopen 有两个字符串参数:

fopen 返回文件控制柄。文件控制柄表示打开文件。应将该值保存到变量中,以使用 fprint 等其他命令打开文件。

$fileId = fopen($exampleFileName,"r");

从文件读取

一旦打开文件进行读取,就可以使用以下某个命令从文件读取数据:

目标 使用该命令

读取一行(读取到下一个新行)。

fgetline (fileID)

读取字词(读取到下一个空格)。

fgetword (fileID)

读取单个值。

fread (fileID,类型)

例如:

// Read a file one line at a time
$fileId=fopen($exampleFileName,"r");
string $nextLine = `fgetline $fileId`;
while ( size( $nextLine ) > 0 ) {
	print ( $nextLine );
	$nextLine = `fgetline $fileId`;
}

测试文件的末尾

如果处在文件末尾,feof <fileID> 函数将返回非零值。

string $nextWord = `fgetword $fileId`;
while ( !feof($fileId) ) {
 	print ( $nextWord + "\n" );
 	$nextWord = fgetword($fileId);
}

如果打开一个空文件,feof 将不会检测到它在文件的末尾,直到执行至少一个读取。

写入文件

一旦打开文件进行写入或附加操作,便可以使用以下某个命令向文件写入数据:

目的 使用该命令

使用打印命令的同等命令打印到文件。

fprint (fileID,字符串)

写入二进制数据。

fwrite (fileID,值)

例如:

$fileId = fopen($exampleFileName,"w");
fprint($fileId,"Hello there\n");
fclose($fileId);

fwrite 命令将二进制格式的数据参数写入文件。它将字符串作为 ASCII 写入,结尾带一个 NULL 字符。不应使用 fwrite 来写入文本文件或编写原始字节,除非结尾需要一个 NULL 字符。

管理打开文件

若要清除写缓冲区而不关闭文件,请使用fflush (fileID)。

若要将文件位置指针重置到文件的开头,请使用frewind (fileID)。

关闭打开文件

若要关闭打开文件,请使用fclose (fileID)。