1

Я пытаюсь поменять в json файле поменять TVOFFicial1 на GameOver, но у меня файл всё время становится пустым иль вообще не меняется.

Код:

$NEW_WORLD = file_get_contents("accounts/".$_COOKIE['accname'].".json");
$iNEW_WORLD = json_decode($NEW_WORLD, true);
$iNEW_WORLD = str_replace($_COOKIE['accname'], $_POST['homes'],$iNEW_WORLD);
$NEW_WORLD = json_decode($iNEW_WORLD);
file_put_contents("accounts/".$_COOKIE['accname'].".json", $NEW_WORLD);

json:

{"TVOFFicial1":{"Name":"TVOFFicial1","Avatar":"BeconAvatar.png","Description":"","Password":"5c28c7f51296e7b129220d40118cb46d","Ban":false,"Role":"member"}}

Меняться вообще должно {"TVOFFicial1":{"Name":"TVOFFicial1",

1 Answers1

0

Вы перед записью в файл делаете json_decode, а нужно json_encode

Также str_replace вы применяете на массиве, а надо на строке. Вы не определились с типом данных для работы?

Нужно либо перевести в массив и работать с массивом, а потом декодировать обратно в json, либо работать сразу со строкой и тогда никакие decode, encode вообще не нужны.

Также, чтобы отслеживать процесс на каждом этапе, на каждой строчке выполнения, можно (и нужно) использовать отладку. Тогда сможете видеть что происходит без гадания на кофейной гуще.