Добавление нового json в файл

140
05 февраля 2018, 05:59

Доброго времени суток. Суть такова: нужно добавить новую запись в json файл. Сам код, который уже есть:

<html>
<head><title>Get requests</title></HEAD>
<?php
$d4=$_GET['message'];
$d5=$_GET['message2']
$jsonobj='{
    "word1": ".$d4.",
    "word2": ".$d5."
}';
if ($d4 != null){
$fz=fopen("/storage/ssd1/822/2911822/public_html/Test.json",'r+') or die("He удалось открыть файл") ;
fwrite($fz, $jsonobj);
fclose($fz);
}
?>
</html>

Что нужно сделать: К примеру, если пришёл ещё один запрос - нужно НЕ перезаписать полностью весь файл, а просто добавить ещё один такой же объект. К примеру:

Если мы отправим "https://mytest/words?message="Hello!"", то образуется файл

{
    "word1": ".$d4.",
    "word2": ".$d5."
}

Если же мы это повторим, то:

{
    "word1": ".$d4.",
    "word2": ".$d5."
}
{
    "word1": ".$d4.",
    "word2": ".$d5."
}

Можно ли так сделать? Или нужно SQL использовать в таком случае?

Answer 1

Обратите внимание на параметр mode функции fopen() Вы используете r+, который открывает файл для чтения и записи и помещает курсор в начало файла. В Вашем случае, вам подойдет параметр mode "a+"

$fz=fopen("/storage/ssd1/822/2911822/public_html/Test.json",'a+')

Читайте подробнее в документации: http://php.net/manual/ru/function.fopen.php

Также, вы можете попробовать использовать функцию file_put_contents() с флагом FILE_APPEND: http://php.net/manual/ru/function.file-put-contents.php

READ ALSO
Вывод продвинутого рейтинга

Вывод продвинутого рейтинга

Есть таблица MySQL(users), там данные - id, name, pointsМне нужно получить 3 строчки: 1 человек, который по баллам больше, я и 1 человек, который по баллам...

227
сбор данных с другого сайта

сбор данных с другого сайта

Есть вот такой код на php и js:

159
В чем проблема заключается?

В чем проблема заключается?

В настройках webmoney лежит как показано на скриншоте

171
Как сделать тест Срупе через js

Как сделать тест Срупе через js

Как сделать тест Струпе? То есть мне нужно чтобы выводилось какое то рандомное слово из ограниченного списка рандомного цвета шрифтаНиже...

146