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

1(理由は分かりません)

最後に、私は.txt$_SERVER['HTTP_USER_AGENT']に保存したいと$_SERVER['REMOTE_ADDR']

+0

ようこそ。 [どのようなトピックについて私が尋ねることができます](http://stackoverflow.com/help/on-topic)と[よくある質問をする方法](http://stackoverflow.com/help/how-to-ask)をお読みください。 )そして[完璧な質問](https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)と[最小限の、完全で検証可能な例の作成方法](http: /stackoverflow.com/help/mcve) – mazedlx

答えて

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

print_r function(上記の場合)は、出力をstdoutに出力し、を返します210を呼び出し側に送信する。それでは、あなたが持っていることと同じです:

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

TRUEそれはconverted to stringとき1になります。

あなたが欲しいものを行う最も簡単な方法は、単にprint_r呼び出しをスキップすることです:

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

それとも、print_rによって生成される特定の書式設定をしたい場合は、2番目のパラメータを追加することができます

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

これにより、print_rは直接出力するのではなく出力を返すようになります。

関連する問題