如何在 PHP 中打开从第 X 行到第 Y 行的文件?

2024-06-30

我在 PHP 文档中看到的最接近的是 fread() 给定的长度,但这并没有指定从哪一行开始。还有其他建议吗?


是的,您可以轻松地做到这一点SplFileObject::seek http://de.php.net/manual/en/splfileobject.seek.php

$file = new SplFileObject('filename.txt');
$file->seek(1000);
for($i = 0; !$file->eof() && $i < 1000; $i++) {
    echo $file->current(); 
    $file->next();
}

这是一个来自可查找迭代器 http://de.php.net/manual/en/class.seekableiterator.php接口,不要混淆fseek.

因为 SplFileObject 是可迭代的,所以你可以使用LimitIterator http://de.php.net/manual/en/class.limititerator.php:

$file = new SplFileObject('longFile.txt');
$fileIterator = new LimitIterator($file, 1000, 2000);
foreach($fileIterator as $line) {
    echo $line, PHP_EOL;
}

同样,这是从零开始的,因此是第 1001 行到 2001 行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PHP 中打开从第 X 行到第 Y 行的文件? 的相关文章

  • Symfony2:在 SonataAdmin 中重写 createAction()

    最近几天我一直在疯狂地谷歌搜索 试图找出 但没有成功 如何覆盖 SonataAdmin 操作来捕获会话用户名并将其保存在外键字段中 附件AdminController类
  • 如何使用 preg_match 在数组中搜索?

    如何使用 preg match 在数组中搜索 Example 在这篇文章中 我将为您提供三种不同的方法来完成您的要求 我实际上建议使用最后一个片段 因为它最容易理解并且代码非常简洁 如何查看数组中哪些元素与我的正则表达式匹配 有一个函数专门
  • 请求参数和 phpdoc [重复]

    这个问题在这里已经有答案了 可能的重复 是否有记录 GET POST 参数的标准 https stackoverflow com questions 2121710 is there a standard for documenting g
  • CSRF 令牌无效。请尝试重新提交表格

    每次尝试提交表单时 我都会收到此错误消息 CSRF 令牌无效 请尝试重新提交表格 我的表单代码是这样的
  • PHP:强制转换为(数组)和返回类型:数组不一样吗?

    我在 PHP 中遇到以下问题 print r 说是一样的gettype 说相同的类型 但最后的输出不适用于这两种情况 尽管它们应该是相同的 这对我来说看起来很奇怪 代码和输出 docdatau get object vars json de
  • 多个复选框 - 更改消息“如果要继续,请选中此框”

    我有一个多选复选框表单 我在其中添加了 JS 以确保访问者至少选择一个选项 div class form group options div
  • 在 woocommerce 中创建带有音频文件的可下载产品

    相信你的一天过得很充实 我需要从前端创建一个可下载的 woocommerce 产品 我已经能够创建链接来发布产品并将音频文件添加为附件 但我需要在付款后使此附件可下载 就像您从仪表板发布可下载的 woocommerce 产品时一样 我已经可
  • Recaptcha - 表单定制

    有谁知道 recaptcha 是否可以在没有默认框架的情况下完全自定义 我需要验证码图像和输入字段只有一定的宽度 以前有人成功做到过吗 您可以使用 自定义 主题选项指定自定义标记 方法是在页面上包含类似以下内容 然后 您在页面上创建一个 d
  • 使用 PHP 连接到 MSSQL Server 2008

    我们在 Windows Server 2008 R2 上使用 MS SQL Server 2008 并已安装Apache 2 2 19 and PHP 5 2 17 分别地 我们已经安装了 PHP 的 MSSQL 模块并使用以下连接字符串
  • 如何对 bcmath 数字进行向上、向下和舍入?

    我需要模仿的确切功能ceil http php net manual en function ceil php floor http www php net manual en function floor php and round ht
  • 我可以在 javascript 中使用 php 吗?

    初学者的问题 我可以在 JavaScript 中使用 PHP 吗 例如在 jquery 中 triggers eq 1 post PHP 在服务器端执行 JavaScript 在客户端执行 但是你可以像这样打印 PHP 变量 trigger
  • 有没有办法在 PHP 中创建匿名对象

    我可以开始使用如下代码吗 new Controllers ServiceController gt fbdump 所以我不必创建一个 var 来执行单个方法 是的 但是您需要添加一组括号 因为 gt 优先级高于new new Control
  • 以同样的方式根据编号对数组进行洗牌

    我正在运行一个测验制作网站 我希望以打乱的顺序向用户显示问题的答案 我试图avoid如果我要随机打乱答案 则存储向用户呈现答案的顺序 我想以可预测的方式打乱答案 这样我以后就可以用同样的方式重复随机播放 显示结果时 我认为我可以按某个数字对
  • 正确使用 GuzzleHttp/Psr7/Response

    不确定在 php 页面中显示 Psr7 Guzzle Response 的正确方法是什么 现在 我正在做 use GuzzleHttp Psr7 BufferStream use GuzzleHttp Psr7 Response class
  • Sublime Text 3 PHP 单元

    在 Sublime Text 3 PHP 单元中不起作用 捆绑包已正确安装 但插件处于非活动状态 有人解决了这个问题吗 提前致谢 我强烈建议你使用这个包isn t可在包控制上使用 Sublime PHPUnit https github c
  • 通过 php 请求表单名称[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 当我提交表单时 我想从 php 检索
  • 有 PHP 函数可以解决这个问题吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对不起 我希望这并不奇怪或什么 我该如何修复这个编码 您遇到的情况是数据以一种编码写入并解释为另一种编码的结果 您需要确保请求输入的格
  • NodeJS AMQP 客户端无法连接

    最近两天我快疯了 我无法在 NodeJS 客户端上通过持久交换和持久队列建立连接 PHP 代码创建并发送消息
  • 为什么apache不能同时处理来自同一浏览器的多个请求

    我不太确定如何正确地表达这个问题 所以我将从我遇到的场景开始 我的网络应用程序中有一些处理时间比我希望用户等待再次控制页面的时间要长 所以我决定通过 ajax 请求来处理它 问题是 即使我将此请求卸载到 ajax 请求中 在原始处理器繁重的
  • 弄清楚为什么我收到资源 ID #5 错误

    这是我的代码的一部分 回显是为了测试该值 它给了我资源 ID 5 id mysql query SELECT id FROM users WHERE firstname submittedfirstname AND lastname sub

随机推荐