使用多个变量时遇到file_put_contents语法问题

时间:2016-01-29 01:39:06

标签: php

我试过了:

file_put_contents("logs/login.log", "$date: ".$userow['UserName'] ($userow['GBS'])" logged in.".PHP_EOL, FILE_APPEND);

但是我收到了这个错误:

<b>Parse error</b>:  syntax error, unexpected '&quot; logged in.&quot;' (T_CONSTANT_ENCAPSED_STRING)

我没有看到问题是什么,在login.log中放入了4 ",语法在文本编辑器中显示正确。我无法弄清楚这一点。

2 个答案:

答案 0 :(得分:0)

我认为你错过了.

file_put_contents("logs/login.log", "$date: ".$userow['UserName'] ($userow['GBS'])." logged in.".PHP_EOL, FILE_APPEND);

编辑:我怀疑你还缺少其他一些引号,因为这可能不是你想要的:

$userow['UserName'] ($userow['GBS'])

编辑2:如果我不得不猜测,这可能就是你要找的东西:

file_put_contents("logs/login.log", "$date: ".$userow['UserName']. " (".$userow['GBS'].") logged in.".PHP_EOL, FILE_APPEND);

答案 1 :(得分:0)

除了添加常量之外,您根本不需要任何连接运算符。 double quoted string会很好地解析你的数组索引:

$logfile = "logs/login.log";
$msg = "$date: $userow[UserName] ($userow[GBS]) logged in." . PHP_EOL;
file_put_contents($logfile, $msg, FILE_APPEND);