文章教程

6.2.13通过HTTP协议打开文件

9/17/2020 9:26:54 PM 人评论 次浏览

6.2.13 通过HTTP协议打开文件

通过HTTP协议打开文件,就是使用函数fopen()打开一个远程文件,这和使用函数fopen()打开一个本地文件几乎没有区别。下面通过一个具体示例程序说明如何通过HTTP协议打开文件,代码6-14就是这样一个示例程序。

代码6-14 通过HTTP协议打开文件6-14.php


01 <?php

02 echo"<H3>通过http协议打开文件</H3>";

03 echo"<br/>";

04

05 if(!($file=fopen("http://localhost/ch06/server_data.txt","r")))//通过HTTP协议打开文件

06 {

07 echo"文件不能打开";

08 exit;

09 }

10 while(!feof($file))

11 {

12 $line=fgetss($file,255);//按行读取文件中的内容

13 echo$line;

14 echo"<br/>";

15 }

16

17 fclose($file);//关闭文件的句柄

18 ?>


【代码解析】代码6-14首先通过函数fopen()打开本地HTTP服务路径下,ch06目录中的server_data.txt文件,如代码第5行所示,这里也可以通过HTTP协议打开一个远程服务器的文件。如果找到该文件,则在没有达到文件末尾时,循环读出文件内容,如代码第10~15行所示。注意,这里使用函数fgetss()读取文件内容,这里简单说明一下该函数的用法,其语法如下所示。


string fgetss(resource$handle)


函数fgetss()从参数$handle所指文件中读取一行内容,并将其中的HTML标记过滤掉,事实上,这也是它和函数fgets()的唯一不同之处。假如在程序所指目录下(代码第5行所示),存在一个名为server_data.txt的文件,其中内容如图6-15所示,那么6-14.php的执行结果就会如图6-16所示。

图 6-15 服务器上某文件内容
图 6-16 通过HTTP协议打开文件后输出其内容

从图6-15和图6-16可以看出,使用函数fopen()打开了一个文件,并且使用函数fgetss()获取文件内容后,原文件中的HTML标记都被删除。

教程类别