2017-04-14 75 views
0

我想從我的對象中訪問「名稱」,但是我找不到解決方案。我的最終目標是訪問文件名,然後用它來顯示圖像。然而,我沒有運氣得到實際的名字。訪問存儲在對象中的數據

這是我試圖從訪問數據對象:

{ 
    "file-0": { 
     "name": "2012-11-23-JokeExplanationCorner.jpg", 
     "type": "image\/jpeg", 
     "tmp_name": "C:\\xampp2\\tmp\\phpA93E.tmp", 
     "error": 0, 
     "size": 378086 
     }, 
     "file-1": { 
     "name": "11039919_10206003688989240_2065769962_n.jpg", 
     "type": "image\/jpeg", 
     "tmp_name": "C:\\xampp2\\tmp\\phpA940.tmp", 
     "error": 0, 
     "size": 143703 
    } 
} 

這是產生該文件的PHP:如果有這樣做的更好的方法,這將使它更容易我打開意見建議:

$sFileName = "imgDB.txt"; 

for($i=0 ; $i<count($_FILES) ; $i++){ 
    move_uploaded_file($_FILES['file-'.$i]['tmp_name'] , "img/". $_FILES['file- 
'.$i]['name']); 
} 

$_FILES = json_encode($_FILES, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); 
file_put_contents($sFileName, $_FILES); 

最後這是JS那種工作。它正在獲取文件名,但我不能讓它降低到另一個級別,並且console.log文件中的所有img名稱。

$.getJSON("imgDB.txt" , function(jData) { 
    console.log("getJSON called for images"); 

    for (var name in jData) { 
     if (jData.hasOwnProperty(name)) { 
      console.log(" name is = " + name); 
      console.log("jData = " + jData); 
      } 
     } 
+0

使用'.json'文件而不是'.txt' – Weedoze

+0

你需要確保你進入'jData.file-0'第一 –

+0

的console.log(jData)並顯示在這裏輸出 –

回答

1

試試這個Js Snippet。

var Jdata = { 
 
     "file-0": { 
 
      "name": "2012-11-23-JokeExplanationCorner.jpg", 
 
      "type": "image\/jpeg", 
 
      "tmp_name": "C:\\xampp2\\tmp\\phpA93E.tmp", 
 
      "error": 0, 
 
      "size": 378086 
 
      }, 
 
      "file-1": { 
 
      "name": "11039919_10206003688989240_2065769962_n.jpg", 
 
      "type": "image\/jpeg", 
 
      "tmp_name": "C:\\xampp2\\tmp\\phpA940.tmp", 
 
      "error": 0, 
 
      "size": 143703 
 
     } 
 
    } 
 
    var length = Object.keys(Jdata).length; 
 
    for (var i=0; i< length; i++) { 
 
      console.log(" name is = " + Jdata['file-'+i]['name']); 
 
     }