2015-07-14 15 views
7

Ich habe alles versucht, um Artikel in json Datei zu schieben, aber wenn Anruf file_put_contents("file.json",$data) funktioniert nicht und die Seite heruntergefahren.file_put_contents funktioniert nicht mit JSON Laravel & PHP

Hier ist mein Controller-Code.

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); 
} 

Und hier ist die json Datei.

{ 
"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 mich pls: C

+0

haben Sie 777 Berechtigungen und Apache-Berechtigungen überprüft –

+0

$ temp = file_put_contents ('js/data.json', $ arr); und echo $ temp. und sehen, dass es wahr oder falsch zurückkehrt; –

+0

ja, letzte Nacht denke darüber nach, Erlaubnis Problem. ty C: – StAx

Antwort

1

Es ist ein Berechtigungsproblem

ist das Verzeichnis könnte /js-777 CHMOD? manchmal erlaubt php nicht den Zugriff auf Verzeichnisse, wenn sie nicht genügend Berechtigungen haben. Ich weiß jedoch nichts über leere Fehler.

Versuchen Sie zu sehen, ob es genug Berechtigungen hat, wenn nicht, dann setzen Sie es auf 777 und versuchen Sie es.