将输出写入文件

时间:2012-03-03 00:13:49

标签: php

我是php的新手,我已经搜索并整理了这个脚本,将文本转换为csv并将文件写出来。

      $File = "/var/apache2/htdocs/loginS/host.txt";
      $Handle = fopen($File,"r");
      $Content = fread ($Handle,filesize ($File));
       fclose($File);
       fclose($Handle);
       $Content = explode("\t", $Content);
       foreach($Content as $Value) {
                //echo $Value."|"; // till this line working 
       fwrite($save, $Value); 
       fclose($save); 
       }

问题是当我尝试写文件时。我只有一行。我的错误是什么。

1 个答案:

答案 0 :(得分:3)

您正在循环中正在写入记录的文件上调用fclose()fclose()关闭文件句柄,使其不再有效,无法写入。

在结束fclose($save);的{​​{1}}之后移动}

此外,您可以通过调用foreach()来简化一些事情,因为这是您使用$Content = file_get_contents($File);生效的内容。此外,由于fread()只是一个字符串变量,因此在其上调用$File是不必要的,并且不执行任何操作。您在fclose()上致电fclose()正确关闭了它。但使用file_get_contents()将消除对两者的需求。你需要的唯一文件是你写的那个。

以下是使用file()函数的示例,该函数将文件的每一行读入数组。

$Handle