问题
I have an android app that sends multiple data from okhttp3 but i can't find a way to log all the data sent in php..My current log only houses the last record(Show below). My best guess is that the php file data is being overwritten until the last record..How can I log all the data sent? And yes all the data is being sent out from the android app...
index.php
if (isset($_POST))
{
file_put_contents("post.log",print_r($_POST,true));
}
Sample post.log
Array
(
[date] => 02 Aug, 12:22
[company] => Assert Ventures
[lattitude] => 32.8937542
[longitude] => -108.336584
[user_id] => Malboro
[photo_id] => 1
)
What I want
(
[date] => 02 Aug, 12:22
[company] => Three Ventures
[lattitude] => 302.8937542
[longitude] => -55.336584
[user_id] => Malboro
[photo_id] => 1
),
(
[date] => 02 Aug, 12:22
[company] => Two Ventures
[lattitude] => 153.8937542
[longitude] => -88.336584
[user_id] => Malboro
[photo_id] => 1
),
(
[date] => 02 Aug, 12:22
[company] => Assert Ventures
[lattitude] => 32.8937542
[longitude] => -108.336584
[user_id] => Malboro
[photo_id] => 1
)
回答1:
You need to pass third parameter FILE_APPEND
;
So your PHP code will look something like this,
if (isset($_POST))
{
file_put_contents("post.log",print_r($_POST,true),FILE_APPEND);
}
FILE_APPEND flag helps to append the content to the end of the file instead of overriding the content.
回答2:
I think you should add FILE_APPEND flag.
<?php
$file = 'post.log';
// Add data to the file
$addData = print_r($_POST,true);
// Write the contents to the file,
// using the FILE_APPEND flag to append the content to the end of the file
// and the LOCK_EX flag to prevent anyone else writing to the file at the same time
file_put_contents($file, $addData, FILE_APPEND | LOCK_EX);
?>
来源:https://stackoverflow.com/questions/38852041/how-to-append-data-to-file-using-file-put-contents