-1
$file = 'userdata.txt';
file_put_contents($file, print_r($_SERVER['HTTP_USER_AGENT']), 
FILE_APPEND);

在 userdata.txt 我有:(1不知道为什么)

最后,我想保存.txt $_SERVER['HTTP_USER_AGENT']$_SERVER['REMOTE_ADDR']

4

1 回答 1

2
$file = 'userdata.txt';
file_put_contents($file, print_r($_SERVER['HTTP_USER_AGENT']), FILE_APPEND);

print_r函数(在上述情况下)将输出打印到调用者stdout并返回TRUE给调用者。所以你所拥有的是相同的:

$file = 'userdata.txt';
print_r($_SERVER['HTTP_USER_AGENT']);
file_put_contents($file, TRUE, FILE_APPEND);

TRUEthen转换为1变为。string

做你想做的最简单的方法是简单地跳过print_r调用:

$file = 'userdata.txt';
file_put_contents($file, $_SERVER['HTTP_USER_AGENT'], FILE_APPEND);

或者,如果您想要由 生成的特定格式print_r,您可以添加第二个参数:

$file = 'userdata.txt';
file_put_contents($file, print_r($_SERVER['HTTP_USER_AGENT'], TRUE), FILE_APPEND);

这将导致print_r返回输出而不是直接打印。

于 2016-11-20T11:33:20.170 回答