http://www.asmondys.com

                                                                  【大发电玩计划】php读取文件的方法是什么-PHP问题

                                                                  php中读取文件内容的几种方法

                                                                  1、fread

                                                                  string fread ( int $handle , int $length )

                                                                  fread() 从 handle 指向的文件中读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。

                                                                  fread() 返回所读取的字符串,如果出错返回 FALSE。

                                                                  <?php    $filename = "/usr/local/something.txt";    $handle = fopen($filename, "r");//读取二进制文件时,需要将第二个参数设置成'rb'        //通过filesize获得文件大小,将整个文件一下子读到一个字符串中    $contents = fread($handle, filesize ($filename));    fclose($handle);?>

                                                                  如果所要读取的文件不是本地普通文件,而是远程文件或者流文件,就不能用这种方法,因为,filesize不能获得这些文件的大小。此时,你需要通过feof()或者fread()的返回值,判断是否已经读取到了文件的末尾。

                                                                  相关推荐:《PHP入门教程》

                                                                  例如:

                                                                  <?php    $handle = fopen('http://www.baidu.com', 'r');    $content = '';    while(!feof($handle)){        $content .= fread($handle, 8080);    }    echo $content;    fclose($handle);?>

                                                                  或者:

                                                                  <?php    $handle = fopen('http://www.baidu.com', 'r');    $content = '';    while(false != ($a = fread($handle, 8080))){//返回false表示已经读取到文件末尾        $content .= $a;    }    echo $content;    fclose($handle);?>

                                                                  2、fgets

                                                                  string fgets ( int $handle [, int $length ] )

                                                                  fg[ets()从 handle 指向的文件中读取一行并返回长度最多为 length - (1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。

                                                                  <?php    $handle = fopen('./file.txt', 'r');    while(!feof($handle)){        echo fgets($handle, 1024);    }    fclose($handle);?>

                                                                  Note: length 参数从 PHP 4.2.0 起成为可选项,如果忽略,则行的长度被假定为 1024。从 PHP 4.3 开始,忽略掉 length 将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8KB,则在脚本中指定最大行的长度在利用资源上更为有效。从 PHP 4.3 开始本函数可以安全用于二进制文件。早期的版本则不行。

                                                                  3、fgetss

                                                                  string fgetss ( resource $handle [, int $leng)th [, string $allowable_tags ]] )

                                                                  跟fgets功能一样,但是fgetss会尝试从读取的文本中去掉任何 HTML 和 PHP 标记,可以用可选的第三个参数指定哪些标记不被去掉。

                                                                  郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

                                                                  上一篇:华为Mate 30系列屏幕或将由三星供货,而非LG/京东方
                                                                  下一篇:没有了