2015-04-29 3 views
1

Я работаю над проектом с небольшой системой CMS, где данные загружаются из внешнего файла JSON.Загрузите и обновите локальный файл JSON с помощью ввода текста

Эта функция загружает данные в совершенстве, но затем я пытаюсь обновить JSON с HTML полей ввода (например, изменение названия и прочее)

Немного превью JSON Файл:

{ 
"title":"Homepage", 
"paths": [{ 
    "path": [{ 
     "questions":"Home" 
    }] 
}] 
} 

Это код, который я для погрузки в:

$string = "file.json"; 
$jsonString = file_get_contents($string); 
$data = json_decode($jsonString, true); 
$paths = $data["paths"]; 

И есть некоторые поля ввода, как это:

<input type="text" name="title" value="Update the title" /> 

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

PS: Я знаю, что SQL, возможно, было лучшим решением, но я получил это от клиента.

+0

Эта статья на дезинфицирующего ввод данных пользователем может быть полезно: [Сохранение веб-пользователей Safe По Санобработка ввода данных] (http://www.smashingmagazine.com/2011/01/11/хранение-веб-пользователи-SAFE-на-дезинфицирующего-ввод-данные /). Ответ CJ Wurtz использует json_encode, который обрабатывает это для вас. – Roberto

ответ

0

Попробуйте что-то вроде:

// read the file like you did before 
$string = "file.json"; 
$jsonString = file_get_contents($string); 
$data = json_decode($jsonString, true); 

// update whatever fields you need to 
$data["title"] = $_POST["title"]; 

// json_encode() and write back to the same file you read from 
file_put_contents($string, json_encode($data)); 
Смежные вопросы