到目前为止,数据写入到了文件中,而且文件也可以直接被打开,以查看数据,并对数据进行其他操作。但是,学习PHP的一个重要目的是要通过浏览器对数据进行读取和使用。那么如何读取数据并且通过浏览器进行展示呢?
下面通过实例对文件数据的读取进行了解。
【例11.2】
<?php
//确认文件路径
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
//确认文件是否存在
@$fp = fopen("$DOCUMENT_ROOT/booked.txt",'rb');
if(!$fp){
echo "没有订房信息。";
exit;
}
//循环输出文件内容
while (!feof($fp)){
$order = fgets($fp, 2048);
echo $order. "<br/>";
}
fclose($fp); //关闭文件
?>
运行结果如图11-4所示。
【案例分析】
(1)$DOCUMENT_ROOT = $_SERVER[‘DOCUMENT_ROOT’];确认文件位置。
(2)fopen()通过参数rb打开booked.txt文件进行二进制读取。读取内容赋值给变量$fp。$fp前的@符号用来排除错误提示。
(3)if语句表示,如果变量$fp为空,则显示“没有订房信息。”且退出。
(4)在while循环中,!feof($fp)表示只要不到文件尾,就继续while循环。循环中fgets()读取变量$fp中的内容并赋值给$order。
(5)fgets()中2048的参数表示允许读取的最长字节数为2048-1=2047字节。
(6)最后fclose()关闭文件。
无论是读文件还是写文件,其实文件在用fopen打开的时候就确定了文件模式,即打开某个特定的文件是用来做什么的。fopen()中的参数及其用途如表11-1所示。
注:b和t是文件模式,配合其他参数使用。