当前位置:  首页>> 技术小册>> PHP8入门与项目实战(5)

到目前为止,数据写入到了文件中,而且文件也可以直接被打开,以查看数据,并对数据进行其他操作。但是,学习PHP的一个重要目的是要通过浏览器对数据进行读取和使用。那么如何读取数据并且通过浏览器进行展示呢?

下面通过实例对文件数据的读取进行了解。

【例11.2】

  1. <?php
  2. //确认文件路径
  3. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  4. //确认文件是否存在
  5. @$fp = fopen("$DOCUMENT_ROOT/booked.txt",'rb');
  6. if(!$fp){
  7. echo "没有订房信息。";
  8. exit;
  9. }
  10. //循环输出文件内容
  11. while (!feof($fp)){
  12. $order = fgets($fp, 2048);
  13. echo $order. "<br/>";
  14. }
  15. fclose($fp); //关闭文件
  16. ?>

运行结果如图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是文件模式,配合其他参数使用。