file_put_contents和$ _SERVER数据

时间:2016-11-20 10:06:46

标签: php file-put-contents

$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']

1 个答案:

答案 0 :(得分:2)

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

print_r function(在上面的情况中)将输出打印到stdout并将TRUE返回给调用者。所以你拥有的是:

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

TRUEconverted to string时变为1

执行所需操作的最简单方法是跳过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返回输出而不是直接打印输出。