我正在尝试使用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博客上使用的。
谢谢!
******问题现已解决。文件被创建并写入错误的位置。感谢您的所有帮助和建议。 *******
答案 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)
。