我正在尝试使用表单输入数据将内容写入日志文件。这似乎不适用于使用php版本5.3.14的服务器,但是当我将相同的代码放在使用5.3.27的服务器上时。有没有人知道如何解决这个问题?
以下是我用于表单操作的代码。 incoming.log是我尝试写入的文件,位于服务器上的文件夹路径live / lms中。请注意,我没有收到任何错误。
<?php
$system_path = '/live/lms/';
$fh = fopen($system_path . "incoming.log", "a");
fwrite($fh, "\nReceived:\n" . date("Y-m-d H:i:s") . "\n" . file_get_contents("php://input"));
fclose($fh);
?>
答案 0 :(得分:0)
不完全是答案,但建议:
您应该添加更多错误处理...并以某种方式构建脚本,以便可以添加更多错误处理。
对于初学者(正在进行中):
<?php
$system_path = '/live/lms/';
$fhSource = fopen('php://input', 'rb');
if (!$fhSource) {
trigger_error('fopen input: '. print_r(error_get_last(), true), E_USER_ERROR );
}
$fhTarget = fopen($system_path . "incoming.log", 'a');
if (!$fhTarget) {
trigger_error('fopen output: '. print_r(error_get_last(), true), E_USER_ERROR );
}
$cb = stream_copy_to_stream($fhSource, $fhTarget);
var_dump($cb);
fclose($fhSource);
fclose($fhTarget);