文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php如何逐行读取文件

2023-06-20 19:08

关注

这篇文章主要讲解了“php如何逐行读取文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何逐行读取文件”吧!

有一个名为“test.txt”的文本文件,里面的内容为:

php如何逐行读取文件

我们如何逐行读取文件中的内容并输出?简单,今天我们就来给大家介绍两种方法。

方法1:使用fgets()函数

我们来看看代码示例:

<?phpheader("Content-Type: text/html;charset=utf-8");    //设置字符编码$handle = fopen('./test.txt', 'r');                 //打开文件if (!$handle) {                                     //判断文件是否打开成功    echo '文件打开失败!';}while (false !== ($char = fgets($handle,1024))) {        //循环读取文件内容    echo $char."<br>";}fclose($handle);                                    //关闭文件?>

输出结果:

php如何逐行读取文件

关键函数分析:

fgets()函数用于从打开的文件中读取一行数据,接受一个必需参数$file(被打开的文件)和一个可选参数$length(要读取的字节数);如果省略了 $length 参数,则默认读取 1k(即1024字节)长度。

fgets()函数在遇到换行符EOF(读到文件末尾)或者到达指定长度 $length-1 后停止(返回字符串长度最大值为 $length-1 个字节)。

如果我们不知道文件中有多少数据,可以使用filesize()函数来获取,该函数可以返回指定文件的大小(字节数)。

所以上面的代码示例可以修改一下:

<?phpheader("Content-Type: text/html;charset=utf-8");    //设置字符编码$url = './test.txt';$handle = fopen($url, 'r');                 //打开文件 $size= filesize($url);                  //计算文件大小if (!$handle) {                                     //判断文件是否打开成功    echo '文件打开失败!';}while (false !== ($char = fgets($handle,$size))) {        //循环读取文件内容    echo $char."<br>";}fclose($handle);                                    //关闭文件?>

输出结果和上面是一样的。

方法2:使用fgetss()函数

我们来看看代码示例:

<?phpheader("Content-Type: text/html;charset=utf-8");    //设置字符编码$handle = fopen('./test.txt', 'r');                 //打开文件if (!$handle) {                                     //判断文件是否打开成功    echo '文件打开失败!';}while (false !== ($char = fgetss($handle,1024))) {        //循环读取文件内容    echo $char."<br>";}fclose($handle);                                    //关闭文件?>

输出结果:

php如何逐行读取文件

关键函数分析:

fgetss()函数和fgets()函数相似,都可以从打开的文件中读取一行数据,不同的是fgetss()函数会过滤掉数据中的 HTML 和 PHP 标签。

fgetss() 函数接受一个必需参数$file、两个可选参数$length$tags。参数$file和$length在fgets()函数中介绍过来,大家可以去上文了解。而参数$tags是用来指定哪些标记不被去掉,我们通过一个例子来具体了解一下:

php如何逐行读取文件

<?phpheader("Content-Type: text/html;charset=utf-8");    //设置字符编码$handle = fopen('./test.txt', 'r');                 //打开文件if (!$handle) {                                     //判断文件是否打开成功    echo '文件打开失败!';}while (false !== ($char = fgetss($handle,1024,"<h2>,<em>"))) {        //循环读取文件内容    echo $char."<br>";}fclose($handle);                                    //关闭文件?>

在上面的代码中,我们设置参数$tags的值为“<h2>,<em>”,也就是不过滤<h2><em>标签,因此输出结果:

php如何逐行读取文件

注意:在操作完文件后,要记得使用fclose()函数来关闭文件!

感谢各位的阅读,以上就是“php如何逐行读取文件”的内容了,经过本文的学习后,相信大家对php如何逐行读取文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯