2014-06-13 2 views
1

도움과 관심에 감사드립니다. .json 파일에서 데이터를 읽는 응용 프로그램이 있는데 모든 파일은 원격 서버에 있습니다. 내가해야 할 일은 새로운 파일이 폴더에 추가 될 때마다 .json 파일을 업데이트하는 것입니다.Json 파일을 업데이트하는 방법

이렇게 할 수 있습니까? 아래는 내가 폴더의 내용을 읽고 지금까지 함께 넣고 밖으로 .json

if($dh = opendir($dir)){ 
while(($file = readdir($dh)) != false){ 
    if($file == "." or $file == ".."){ 
    } else { 
     $return_array[] = $file; // Add the file to the array 
    } 
} 

후 나는 결과 아래

}echo json_encode($return_array); 

및 에코 뒀다 코드는 .json은이다 내가 그래서 어떤 도움이 좋을 것 PHP와 .Json와 초보자입니다

{ 
"contacts": [ 
    { 
      "id": "c200", 
      "name": "http://allhiphoprandbandurbanmusicnetwork.com/ahrum_chat/uploads/Jun%205,%202014%206:53:15%[email protected]", 
      "email": "[email protected]", 
      "address": "xx-xx-xxxx,x - street, x - country", 
      "gender" : "male", 
      "phone": { 
       "mobile": "+91 0000000000", 
       "home": "00 000000", 
       "office": "00 000000" 
      } 
    } 

    } 
] 

를 업데이트해야 할 파일. 미리 감사드립니다.

+0

당신의 json 배열. 원하는 것을 더 잘 설명하십시오. – greenapps

+0

좋아요 ... 사용자가 파일을 제출할 때 위의 json 파일에 추가 된 파일 위치와 유형이 필요합니다. – user1502715

+0

그것은 분명하지 않습니다. 나는 json 파일을 본다. json 배열 만. 귀하의 PHP 코드는 json 출력을 생성하지만 표시하는 것과는 매우 다릅니다. 그렇다면 왜 PHP 코드가 표시된 json 배열과 관련이 있다고 생각합니까? – greenapps

답변

0

나는 당신이 제공 한 코드에 대한 확실하지 않다 어떻게는 .json 파일 관련되어 있지만,이 일의 기본적인 방법은 다음과 같습니다

  1. 배열로 .json 파일 읽기 (배열 1)
  2. 모든 새 파일을 읽고 새 배열 (배열 2)에 추가하고
  3. Merge Array2와 Array1.
  4. 병합 된 배열을 .json 파일에 쓰고 모든 내용을 덮어 씁니다.

편집 : 여기 는 가장 간단한 방법으로 그것을 넣을 수 있습니다, 이해하도록하는 예입니다 VIK가 말했듯이 이미 PHP 코드가 함께 할 수있다 불분명하다

/* users.json 
{ 
    data:[ 
      { 
       first_name:"Lionel", 
       last_name:"Messi" 
      } 
     ] 
} 
*/ 

// Read your .json file into an array 

$fileName = "users.json"; 
$array = json_decode(file_get_contents($fileName), true); 
$arrayA = $array["data"]; 

// Read and add new files into a new array 

... 
... 
$arrayB = array(array("first_name" => "Cristiano", "last_name" => "Ronaldo")); 

// Merge both arrays 

$arrayC = array_merge($arrayA, $arrayB); 

// Write to .json file again 

file_put_contents($fileName, json_encode(array("data" => $arrayC))); 
+1

어떻게해야합니까? – user1502715

관련 문제