Atitit 文件读取规范 目录 1.1. 以fgetss取代fgets读取一行并过滤掉 HTML 和 PHP 标记。 1 1.2. 3. 以二进制读取 fread取代fgets 1 1.3. 4.

Atitit 文件读取规范

 

目录

1.1. 以fgetss取代fgets读取一行并过滤掉 HTML 和 PHP 标记。 1

1.2. 3. 以二进制读取 fread取代fgets 1

1.3. 4.将整个文件读入到一个字符串的方法 file_get_contents() 2

1.4. 5.将整个文件读入到一个数组中返回 file()   2

 

 

    1. 以fgetss取代fgets读取一行并过滤掉 HTML 和 PHP 标记。

 

      fgetss() 函数从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记。

      与 fgets() 相同,不同的是 fgetss 尝试从读取的文本中去掉任何 HTML 和 PHP 标记。

      例子:

1

2

3

4

5

6

<?php

     $file fopen("test.htm","r");

     echo fgetss($file);

     fclose($file);

 

?>

  当然也可以通过传递第三个参数来指定哪些标记是允许输出的:

1

2

3

4

5

6

7

<?php

 

$file fopen("test.htm","r");

echo fgetss($file,1024,"<p>,<b>");//<p>和<b>标记将不会被过滤

fclose($file);

 

?>  

         详细信息参考:http://www.w3school.com.cn/php/func_filesystem_fgetss.asp

    1. 3. 以二进制读取 fread取代fgets

      同样需要打开文件连接 fopen    

1

2

3

$fh fopen("c:\\myfile.txt""rb");//rb是兼容二进制读取

$data fread($fhfilesize("c:\\myfile.txt"));

fclose($fh);

特别注意:fread()虽然可以通过第二个参数来指定读取文件的长度,但最长只能读取8192个字节(8kb)

                    如果文件长度超过8k则需要循环读取

    1. 4.将整个文件读入到一个字符串的方法 file_get_contents()

      详细可见:PHP的file_get_contents()方法,将整个文件读入字符串中

    1. 5.将整个文件读入到一个数组中返回 file()  

1

2

3

<?php

     print_r(file("c:\\abc.txt"));//结果将abc.txt文件的每一行当成数组的每个元素返回

?>

 

 

posted @ 2019-12-12 17:44  attilaxAti  阅读(41)  评论(0编辑  收藏  举报