【问题标题】:Read data from a text file, edit it and save it in PHP从文本文件中读取数据,编辑并保存在 PHP 中
【发布时间】:2014-06-16 16:59:48
【问题描述】:

我想编写一个脚本,它从文本文件中读取数据,让我对其进行编辑,然后允许我将内容保存到文本文件中。
我想我可以在文本字段中加载文件内容来编辑文件,但欢迎提出更好的建议。
我想一次加载 10 行,编辑它们,然后将它们附加到单个输出文件中
到目前为止,我只能从文件中读取数据。

<html>
<body>
<?php
$file = fopen("t.txt", "r");
$i = 0;
while (!feof($file)) {

$line_of_text = fgets($file);
$members = explode('\n', $line_of_text);
var_dump($members);

}
fclose($file);

?>
</body>
</html>

【问题讨论】:

  • 您可以只读取数据,因为您编写代码只是为了读取数据。你想读哪 10 行?前 10 行?
  • fgets() 读取一行文本。没有什么可爆炸的,因为无论如何你只会检索一行文本。如果你想要一个更好的系统:不要使用文件。使用数据库。
  • 一次读取 10 行,编辑,保存。然后阅读接下来的 10 行,编辑它们并附加它们。这一直持续到整个文件被读取和编辑。

标签: php


【解决方案1】:

要一次读取 10 行,请执行以下操作

$output = '';
$has_content = true;
while ($has_content) {
  for ($i = 0; $i < 10; $i++) {
    $line = fgets($file);
    if (is_null($line)) {
      $has_content = false;
      break;
    }

    $processed_line = ...
    $output .= $processed_line;
  }
}

关闭可读的文件句柄后,可以写回原来的文件

$fh = fopen("t.txt", "w");
fwrite($fh, $output);
fclose($fh);

【讨论】:

    【解决方案2】:

    您可以使用file_get_contents 读取整个文件的单个字符串。另外,请查看相关问题Read Data From Text File PHP。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-02
      • 1970-01-01
      • 2021-10-01
      • 2017-10-17
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 2021-08-24
      相关资源
      最近更新 更多