【问题标题】:How to read a file line by line in PHP如何在 PHP 中逐行读取文件
【发布时间】:2019-04-17 09:48:04
【问题描述】:

我有一个这种格式的存档 txt。

$line[0] = 50009828720001007029552330034 20181009MG551 0119195102P000000002624400000000000000000000000000000000000000000000000262440000N

在这一行我可以得到一个确定文档的很多信息。

示例:当我使用下面的函数时,我可以得到文件编号、文件日期和其他信息。

$numDoc[0] = (string)substr($line[0], 46, 5); // THE NUMBER OF DOCUMENT IS 011919
$dateDoc[0] = (string)substr($line[0], 30, 8); // DATE OF DOCUMENT IS 20181009

我如何构建我的档案以便轻松打印这样订购的信息。

文档数量 - 文档日期

订购此信息的简单方法是,一个不允许用户做任何事情的小应用程序,只需上传此存档 .txt。

我的问题是关于结构信息以便于访问,如下所示:

doc1{
number = xxx
date = xxx
generic = xxx
}

【问题讨论】:

标签: php oop


【解决方案1】:

我假设您需要一种方法使其比手动输入[0] 然后[1] 等更具动态性?

您可以使用 foreach 循环 txtfile 并使用 [] 分配新的数组项。

$file = fopen("path of txt");

foreach($file as $line){
    $numDoc[] = substr($line, 46, 5); 
    $dateDoc[] = substr($line, 30, 8);
}

上面的代码将遍历文档并创建两个包含日期和文档编号的数组。

我可能会将其设为多维数组,而不是将所有内容保存在一个位置。

foreach($file as $line){
    $array["numdoc"][] = substr($line, 46, 5); 
    $array["dateDoc"][] = substr($line, 30, 8);
}

【讨论】:

  • 我有很多行到substr(),这段代码会创建很多数组吗?我正在考虑创建一个对象系统,一个用于存档的类,以及存档内名为“doc”的另一个类,并且在 doc 中从行中提取许多属性。但我不知道怎么做。
  • 我不知道你在找什么。
  • @FelipeGuimarães 这是上面代码的输出:3v4l.org/psGtn
猜你喜欢
  • 2016-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 2020-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多