2013-06-12 6 views
0
[File 
    { size=295816, type="image/jpeg", name="img_new3.JPG"}, 
File { size=43457, type="image/jpeg", name="nature.jpg"} 
] 

이것은 내가 스크립트에서받은 데이터입니다. 이제 크기와 파일 이름을 아약스를 통해 PHP 파일로 보내야합니다.자바 스크립트로 다차원 배열에 데이터 추가

file(
    name=>array(
      0=>"name", 
      1=>"size" 
    ), 
    size=>array(...) 
) 

어떻게 내가 위의 같은 PHP 파일에 데이터를 전송 배열을 만들 수 있죠 : 여기
내 코드

  var files = []; 
      files["file"] = []; 

      // file is an object that has the above result 
      for(var i=0, j=file.length; i<j; i++){ 
       console.log(file[i].name); 
       files["file"][i] = file[i].name; 
       files["file"][i] = file[i].size; 
      } 

      // Send Request to Create ZIP File 
      console.log(files) 

난 내 PHP 파일의 PARAMS에 액세스하려면 무엇입니까?

답변

1

우선 Object 표기법을 사용해야하며 Array이 아니라 Ajax을 통해 PHP 함수로 전달할 수 있습니다.

var files = {}; 
files["file"] = []; 

// file is an object that has the above result 
for (var i = 0, j = file.length; i < j; i++){ 
    console.log(file[i].name); 
    files["file"][i] = file[i].name; 
} 

그리고 다음과 같이 당신의 PHP 스크립트에 데이터를 전달하는 JSON.stringify와 그 배열을 사용

$.ajax({ 
    url: "your url", 
    type: "POST", //can be get also, depends on request 
    cache: false, //do you want it to be cached or not? 
    data: {files: JSON.stringify(files)}, 
    success: function(data) { 
     //do something with returned data 
    } 
}); 

어쨌든 나는 당신이 당신의 데이터를 저장하는 방식을 변경하는 것이 좋습니다. 개체는이 경우에 매우 유용하다 :

var files = []; 

// file is an object that has the above result 
for (var i = 0, j = file.length; i < j; i++){ 
    console.log(file[i].name); 
    files.push({ 
     name: file[i].name //you can add all the keys you want 
    }); 
} 
0

당신은 js 어레이가 준비되어 있으므로 jQuery post method을 사용하여 생성 된 배열을 php 파일로 보내면 원하는대로 배열을 처리합니다.

0

다차원 배열 JSON 인코딩 배열/객체 위로 JSON을 디코딩 할 수있는 PHP 스크립트 AJAX 통해 문자열로 전송 될 수

// assuming the array is in files var 
$.ajax({ 
    url : 'page.php', 
    type : 'POST', 
    data : { myFiles : JSON.stringify(files) }, 
    success : function(response){ 
     console.log("successfull"); 
    } 
}); 

PHP 쪽 :

if($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    $filesArray = json_decode($_POST['myFiles']); 
    print_r($filesArray); 
} 
관련 문제