文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在 PHP 中逐行读取一个大文件

2024-02-27 20:53

关注

在本文中,我们将介绍在 PHP 中逐行读取一个大文件的方法。


在 PHP 中使用 fgets() 函数逐行读取大文件

内置函数 fgets() 从一个打开的文件中读取一行。我们可以用这个函数来逐行读取一个大文件。使用这个函数的正确语法如下。


fgets($fileName, $lengthOfFile);

函数 fgets() 有两个参数。其详细参数如下

参数   说明
$fileName 强制 这是我们要逐行读取的文件
$lengthOfFile 可选 它讲述了要读取的文件的长度,它的默认值是 1024 字节。它的默认值是 1024 字节。

如果成功的话,该函数从用户指定的文件中返回一个 stringlengthOfFile -1。失败时返回 False

下面的程序显示了我们如何使用 fgets() 函数逐行读取一个大文件。我们将分别使用 fopen()fclose() 函数来打开和关闭一个文件。我们有一个名为 flowers.txt 的文本文件,其中包含了花的详细信息。


<?php 
if ($file = fopen("flowers.txt", "r")) {
    while(!feof($file)) {
        $line = fgets($file);
       echo ("$line");
    }
    fclose($file);
}   
?> 

我们使用 feof() 函数读取文件,直到最后。输出显示的是逐行读取的文件内容。

输出:

fgets 函数在 PHP 中逐行读取一个大文件


在 PHP 中使用 file() 函数逐行读取一个大文件

在 PHP 中,我们还可以使用 file() 函数逐行读取文件。file() 函数将一个文件逐行读取到一个数组中。使用该函数的正确语法如下。


file($fileName, $flags, $context)

函数 file() 接受三个参数。其详细参数如下

参数   说明
$fileName 强制 它是我们的文件存放的路径
$flags 可选 它讲述了我们可以使用的常量作为这个函数的标志。
$context 可选 就是使用 stream_context_create()函数创建的资源

使用 file() 函数读取文件的程序如下。


<?php 
foreach(file('flowers.txt') as $line) {
   echo $line. "\n";
} 
?> 

在 PHP 中使用 stream_get_line() 函数逐行读取大文件

我们也可以使用 stream_get_line() 函数逐行读取文件。这个函数可以读取一个文件,直到一个定界符。正确使用该函数的语法如下。


stream_get_line($handle, $length, $ending)

函数 stream_get_line() 接受三个参数。它的详细参数如下

参数   说明
$handle 强制 它是存储我们文件的路径
$length 强制 它告诉我们要读取的文件的长度
$ending 强制 它是一个告诉定界符的字符串

使用 stream_get_line() 函数读取文件的程序如下。


<?php 
$file = fopen("flowers.txt", "r+");
while ($line = stream_get_line($file, 1024 * 1024, ".")) {
  echo $line;
}
fclose($file);
?> 

输出:

stream_get_line(在 PHP 中逐行读取一个大文件的函数

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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