我首先对PHP非常非常非常非常非常抱歉这个问题 我有一个应用程序,我想记录一些调试数据 并通过我的项目,我将网站请求存储到我的网站存储信息 $ msg然后我想将数据写入网站上的logfile.log。 我第一次使用fopen fwrite fclose,但听说file_put_contents会更好 特别是因为我很可能会有几个用户一次尝试写入该文件。 这是代码:
$msg = $_GET['w'];
$logfile= 'logfile.log';
echo file_put_contents($logfile,$msg, FILE_APPEND | LOCK_EX);
但正如您可能猜到的那样,代码对我没有任何帮助 我得到它与fopen fwrite fclose一起工作 但我想将每个用户添加到一个新行。
如果有任何聪明的大脑会帮助我,我会很感激它。
问候。
编辑: @Jay 这是我尝试应用它(在第一行打开PHP) 编辑:删除'标记'来自代码的复制/粘贴错误。
error_reporting(E_ALL); ini_set('display_errors', 1)
$msg = $_GET['w'];
$logfile= 'logfile.log';
echo file_put_contents($logfile,$msg, FILE_APPEND | LOCK_EX);
答案 0 :(得分:0)
为什么不使用error_log()
?将message_type
设置为3
(第二个参数)后,消息将写入第三个参数中指定的文件:
$message = $_GET['w'];
$logfile = 'logfile.log';
// Debug: A line for verifying I have the message
echo "Writing message '$message' to logfile<br>";
error_log($message."\n", 3, $logfile);
// Debug: read back the log file to verify thatthe line has been written
readfile($logfile);
请注意邮件附加的newline
error_log()
不会为您执行此操作。
另请注意,必须将权限设置为允许Web服务器写入目标文件。无论是使用error_log()
还是file_put_contents()
PHP引用是here