У меня есть простой редактор фильмов с боковой панелью, в котором пользователь просто перетаскивает элемент на правую сторону. Пользователь может редактировать этот элемент по своему усмотрению и сохранять данные в JSON. Я хочу, чтобы пользователь нажимал, чтобы сохранить его, должен создать новый файл и сохранить в нем новые данные.

пока вот что у меня есть

HTML

{amp}lt;div class="col-2 save-details"{amp}gt; {amp}lt;div id="save-block"{amp}gt; {amp}lt;button type="button" class="btn btn-success btn-save"{amp}gt;Save{amp}lt;/button{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;/div{amp}gt; 

вот js чтобы сохранить файл

 var moviesblocks =null; $(document).ready(function(){ $.getJSON('moviesblocks.json', function (data) { moviesblocks = data.moviesblocks; console.log(moviesblocks); }); $("#main-btn-save").on("click", function () { var moviesparams = JSON.stringify({ moviesblocks: moviesblocks }); $.ajax({ type: 'POST', data: { moviesparams: moviesparams }, url: 'save_movies_block.php', success: function (data) { $('#msg').html(data).fadeIn('slow'); $('#msg').delay(2000).fadeOut('slow'); }, error: function () { $('#error-msg').html(data).fadeIn('slow'); $('#error-msg').delay(2000).fadeOut('slow'); } }); console.log(moviesparams); }); }) 

Вот PHP-файл для обработки процесса

 {amp}lt;?php if(isset($_POST['moviesparams'])){ $moviesparams = json_decode($_POST['moviesparams']); // do whatever checks you need on $moviesparams to verify valid data $success = file_put_contents("moviesblocks.json", json_encode($moviesparams)); if($success === false){ echo "sorry , something is wrong"; die(); }else{ echo "Data successfully saved"; die(); } } else { echo "nic"; } $data=file_get_contents("data.json"); $result=json_decode($data); ?{amp}gt; 

Как вы можете видеть теперь, после того, как пользователь щелкнет, сохраните его в этот файл

 moviesblocks.json 

Теперь я хочу, чтобы когда пользователь нажимал кнопку «Сохранить», он должен сохранять в новый файл что-то вроде moviesblocks1.json вместо moviesblocks.json.

Вот живая демонстрация живая демонстрация

Как я могу добиться того, чего хочу?

Если вы не хотите использовать базу данных, вам нужно создать еще один файл для сохранения номеров версий файлов. Каждый раз, когда вы хотите создать новый файл, получите последний номер версии из этого файла version.txt и добавьте его к имени файла. Например: moviesblocks1.json, moviesblocks2.json.

После создания нового файла обновите версию из version.txt. Это поможет вам создать новый номер версии в следующий раз.