PHP读取文件内容的几种方法
一、fread():读取打开的文件,第二个参数规定待读取的最大字节数。
$myfile = fopen('testfile.txt', 'r') or die('Unable to open file!'); echo fread($myfile, filesize('testfile.txt')); fclose($myfile);
二、fgetc():从文件读取单个字符,调用fgetc()函数之后,文件指针会移动到下一个字符。
$myfile = fopen('testfile.txt', 'r') or die('Unable to open file!'); echo fgetc($myfile); fclose($myfile);
三、fgets():从文件读取单行,可以用可选的第二个参数指定行的长度。
$myfile = fopen('testfile.txt', 'r') or die('Unable to open file!'); echo fgets($myfile); fclose($myfile);
四、fgetss():fgetss()函数跟fgets()函数功能一样,但是fgetss()函数会尝试从读取的文本中去掉任何HTML和PHP标记,可以用可选的第三个参数指定哪些标记不被去掉。
$myfile = fopen('testfile.txt', 'r') or die('Unable to open file!'); while(!feof($myfile)){ echo fgetss($myfile, 1024, '<p>') . '<br>'; } fclose($myfile);
五、feof():检查End-Of-File(EOF),逐行读取文件,直到文件的末尾,支持远程文件或者流文件。
$myfile = fopen('testfile.txt', 'r') or die('Unable to open file!'); while(!feof($myfile)){ echo fgets($myfile) . '<br>'; } fclose($myfile); # #读取远程文件 # $handle = fopen('http://www.hulumiao.cn', 'r'); $content = ''; while(!feof($handle)){ $content .= fread($handle, 1024); } echo $content; fclose($handle);
六、fpassthru():将给定的文件指针fseek()从当前的位置读取到EOF并把结果写到输出缓冲区。
$myfile = fopen('testfile.txt', 'r'); fseek($myfile, 1024); fpassthru($myfile);
七、readfile():读入一个文件并写入到输出缓冲,返回从文件中读入的字节数。
$size = readfile('testfile.txt'); echo $size; #返回字节数
八、file():将文件内容读入一个数组中,数组的每一项对应文件中的一行,包括换行符在内,不需要行结束符时可以使用 rtrim() 函数过滤换行符。
$myfile = file('testfile.txt'); foreach($myfile as $line => $content){ echo '第' . ($line + 1) . '行:' . $content . '<br>'; }
九、file_get_contents():把整个文件读入一个字符串中,性能较好,访问远程文件时,也可以设置超时时间。
echo file_get_contents('testfile.txt'); # #读取远程文件 # $timeout = stream_context_create(array( 'http' => array( 'timeout' => 1 ) ) ); echo file_get_contents('http://www.hulumiao.cn/', 0, $timeout);
2016-04-28 4911人浏览
评论