2015-07-14 12 views
7

Próbowałem wszystkiego, aby pchnąć element do pliku json, ale gdy zadzwonił file_put_contents("file.json",$data) nie działa i strona została zamknięta.file_put_contents nie działa z jsonem laravel & php

Oto mój kod kontrolera.

public function addJson() 
{ 
    $titulo = Input::get('title'); 
    $name = Input::file('image')->getClientOriginalName(); 

    $arr = json_decode(file_get_contents("js/data.json"), true); 
    array_push($arr['galerias'], array('id' => count($arr['galerias'])+1, 'name' => $name, 'img' => 'galeria/'.$name)); 
    $arr2 = $arr['galerias']; 
    $arr = json_encode($arr); 
    echo $arr; 
    file_put_contents('js/data.json', $arr); 
    return view('main.prueba')->with('name',$arr2); 
} 

A oto plik json.

{ 
"galerias": [ 
{ 
    "id": 1, 
    "name": "Fiesta Privada", 
    "img": "galeria/FP.JPG" 
}, 
{ 
    "id": 2, 
    "name": "Fiesta Privada", 
    "img": "galeria/FP2.JPG" 
}, 
{ 
    "id": 3, 
    "name": "Fiesta Privada", 
    "img": "galeria/FP3.JPG" 
}, 
{ 
    "id": 4, 
    "name": "Fiesta Privada", 
    "img": "galeria/FP4.JPG" 
}, 
{ 
    "id": 5, 
    "name": "Fiesta Privada", 
    "img": "galeria/FP5.JPG" 
}, 
{ 
    "id": 6, 
    "name": "Fiesta Privada", 
    "img": "galeria/FP6.JPG" 
}, 
{ 
    "id": 7, 
    "name": "Los Kjarkas", 
    "img": "galeria/Los_Kjarkas.jpg" 
}, 
{ 
    "id": 8, 
    "name": "Palmenia Pizarro", 
    "img": "galeria/Palmenia_Pizarro.jpg" 
}, 
{ 
    "id": 9, 
    "name": "Palmenia Pizarro", 
    "img": "galeria/Palmenia_Pizarro_2.jpg" 
}, 
{ 
    "id": 10, 
    "name": "Palmenia Pizarro", 
    "img": "galeria/Palmenia_Pizarro_3.jpg" 
} 
] 
} 

Heeeelp mnie pls: C

+0

Czy sprawdziłeś 777 uprawnień i uprawnień Apache –

+0

$ temp = file_put_contents ('js/data.json', $ arr); i echo $ temp. i zobacz, czy zwraca true lub false; –

+0

tak, ostatniej nocy pomyśl o tym, problem uprawnień. ty C: – StAx

Odpowiedz

1

To może być problem uprawnienie

jest katalog /js CHMOD na 777? czasami php nie pozwala na dostęp do katalogów, jeśli nie mają wystarczających uprawnień. Nie wiem jednak o pustych błędach.

Spróbuj sprawdzić, czy ma wystarczającą liczbę uprawnień, jeśli nie, ustaw go na 777 i spróbuj.