我正在尝试将表单中的内容写入文本文件,并且不知道它为什么不起作用。我已经将代码上传到像000webhost这样的免费主机上,一切正常。所以不确定我的CentOS服务器是否存在一些错误配置,即CentOS 6.5版(最终版)。或者如果代码有问题,我们将非常感谢任何帮助。
<?php
header("Location: http://www.example.com");
$handle = fopen("data.txt", "a");
foreach($_POST as $variable => $value)
{
fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value);
fwrite($handle, "\r\n");
}
fwrite($handle, "\r\n");
fclose($handle);
exit;
?>
答案 0 :(得分:1)
确保您对尝试写入的文件夹拥有正确的权限。它可能是由apache用户(www-data)或等同物
获得的此外,PHP有一些更好的写入文件的方法。尝试类似:
$output = '';
foreach($_POST as $key => $val)
$output .= sprintf("%s = %s\n", $key, $val);
file_put_contents('data.txt', $output);
只要$_POST
不是2D,就应该清楚。如果它是2D或更多用于调试目的,为什么不使用print_r()
(因为它的递归),例如。
file_put_contents('data.txt', print_r($_POST, true));
第二个参数使它返回一个字符串而不是实际打印。
为清楚起见,我考虑将header('Location: xxx')
电话放在最后(即使它不会产生功能差异)。