Tengo un objeto en Php, así que necesito insertarlo en una matriz en Js que se encuentra en otro archivo llamado 'db.js'. Objeto->
$datae = array( 'img' => 'push-ups.webp', 'videoname'=> $name, 'name' => $_POST['name'], 'text' => $_POST['description'] );db.js interno ->
let dataGoods = [{ "img": "push-ups.webp", "videoname": "igorBaitenko.mp4", "name": "Push-ups", "text": "Lorem ipsum dolor, sit amet consectetur adipisicing elit." }, { "img": "push-ups.webp", "videoname": "igorBaitenko.mp4", "name": "Push-ups", "text": "Lorem ipsum dolor, sit amet consectetur adipisicing elit." }];Probé este código para agregar un objeto a una matriz ->
$inp = file_get_contents('db.js'); $tempArray = json_decode($inp); array_push($tempArray, json_decode($datae)); $jsonData = json_encode($tempArray, JSON_UNESCAPED_UNICODE); file_put_contents('db.js', $jsonData );Pero hubo algunos errores, así que necesito su ayuda, por favor.
Cometiste dos errores:
El db.js contiene un fragmento de JavaScript, pero se lo pasa a json_decode() como si fuera JSON. Tiene que "convertir" JavaScript a JSON, o puede guardar $tempArray como JSON en db.json y cargarlo desde db.js
array_push($tempArray, json_decode($datae)) , pero $datae es una matriz. Puede presionarlo como: $tempArray[] = $datae .