Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to append data to file using file_put_contents()?

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
)
like image 655
Bmbariah Avatar asked Dec 08 '22 21:12

Bmbariah


2 Answers

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.

like image 109
Alok Patel Avatar answered Dec 10 '22 12:12

Alok Patel


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);
?>
like image 23
kuchar Avatar answered Dec 10 '22 13:12

kuchar