不写入文件,但PHP没有错误

时间:2010-01-14 16:33:57

标签: php file

我正在尝试使用PHP将表单输入中的数据写入文本文件。该文件似乎正确加载,但不写入数据。

我在尝试写入之前直接回显了输入值,以确保它们不是空的。

文本文件与php文件位于同一目录中。

我有点得到错误“警告:fwrite():提供的参数不是有效的流资源”,但通过调整文本文件的权限来纠正错误。

我当前的代码

$fp = fopen('sidebar_subscribers.txt', 'a');
fwrite($fp, $name."\t".$email."\t".$leader."\t".$industry."\t".$country."\t".$zip."\r\n");
fclose($fp);

为什么这些值没有写入文本文档?

服务器上是否有需要设置php的东西我应该检查?

这是在WordPress博客上使用的。

谢谢!

******问题现已解决。文件被创建并写入错误的位置。感谢您的所有帮助和建议。 *******

2 个答案:

答案 0 :(得分:1)

编写的代码对我有用;我建议添加以下内容以确定错误发生的位置:

<?php    
  $fp = fopen('sidebar_subscribers.txt', 'a') or die('fopen failed');

  fwrite($fp, "$name\t$email\t$leader\t$industry\t$country\t$zip\r\n") or die('fwrite failed');
?>

关于无效流资源的原始错误是不检查返回值的结果,“或者die()”实际上是为您做的。 fopen失败了,并且返回false,你将false作为fwrite的第一个参数传递。

您可以通过检查fwrite的返回值来进一步检查错误:

<?php

$ret = fwrite($fp, "$name\t$email\t$leader\t$industry\t$country\t$zip\r\n");

if ($ret === false)
  die("Fwrite failed");
echo ("fwrite wrote $ret bytes");
?>

答案 1 :(得分:0)

关闭前尝试fflush($fp)