2012-03-20 22 views
2

Dropbox APIに問題があります。Dropboxフォルダにファイルをリスト表示する

私は私のフォルダのメタデータを取得しようとすると、私はこのようなデータ出力を得る:

{"hash":"10f86b5b7c9c9276501f67a71ecd41c9","thumb_exists":false,"bytes":0,"path":"\/","is_dir":true,"size":"0 bytes","root":"app_folder","contents":[{"revision":7,"rev":"7069e0896","thumb_exists":true,"bytes":19749,"modified":"Tue, 20 Mar 2012 05:06:43 +0000","client_mtime":"Mon, 26 Sep 2011 11:50:43 +0000","path":"\/1_sml.jpg","is_dir":false,"icon":"page_white_picture","root":"dropbox","mime_type":"image\/jpeg","size":"19.3 KB"},{"revision":6,"rev":"6069e0896","thumb_exists":true,"bytes":15797,"modified":"Tue, 20 Mar 2012 05:06:43 +0000","client_mtime":"Mon, 26 Sep 2011 11:51:09 +0000","path":"\/2_sml.jpg","is_dir":false,"icon":"page_white_picture","root":"dropbox","mime_type":"image\/jpeg","size":"15.4 KB"},{"revision":5,"rev":"5069e0896","thumb_exists":true,"bytes":13349,"modified":"Tue, 20 Mar 2012 05:06:43 +0000","client_mtime":"Mon, 26 Sep 2011 11:51:26 +0000","path":"\/3_sml.jpg","is_dir":false,"icon":"page_white_picture","root":"dropbox","mime_type":"image\/jpeg","size":"13 KB"},{"revision":4,"rev":"4069e0896","thumb_exists":true,"bytes":8838,"modified":"Tue, 20 Mar 2012 05:06:43 +0000","client_mtime":"Mon, 26 Sep 2011 11:51:46 +0000","path":"\/4_sml.jpg","is_dir":false,"icon":"page_white_picture","root":"dropbox","mime_type":"image\/jpeg","size":"8.6 KB"},{"revision":3,"rev":"3069e0896","thumb_exists":true,"bytes":99646,"modified":"Tue, 20 Mar 2012 04:57:58 +0000","client_mtime":"Tue, 20 Sep 2011 14:14:26 +0000","path":"\/bg.jpg","is_dir":false,"icon":"page_white_picture","root":"dropbox","mime_type":"image\/jpeg","size":"97.3 KB"}],"icon":"folder"} 

を私の問題は、私は画像のみ/ファイル名ごとの出力を得るたいということです。..

$info = json_encode($dropbox->getMetaData('')); 
foreach($info->contents->path as $file){ 
    echo $file; 
} 

しかし、私はこのエラーを取得:しかし、私はこのようにそれを行うことができ、私を通じて..それを行うための正しい方法を見つけることができ

Warning: Invalid argument supplied for foreach() in /home/djrasmusp/rasmusp.com/db/index.php on line 16 

しかし私の問題に私を助けてくれる人はいますか?

答えて

2

json_encodeの代わりにjson_decodeを試してください(stdClassの代わりに2番目のパラメータを使用して関連付けられた配列を作成することもできます)。私がテストした

+0

その後、私は、このエラーメッセージが出ます: 警告:json_decode()は、パラメータ1を期待文字列にする配列/home/djrasmusp/rasmusp.com/db/index.php 15行目 警告:/home/djrasmusp/rasmusp.com/db/index.phpのforeach()に無効な引数が指定されています。オンライン16 –

+0

var_dump($ dropbo x-> getMetaData( '')); –

+0

は、私が書いた問題を発見しました: foreach($ info-> contents as $ a)の代わりにforeach($ info ['contents']を$ a) –

0

:)

require_once('bootstrap.php'); 
$metaData = $dropbox->metaData(); 
foreach($metaData['body']->contents as $file) 
{ 
    echo "<pre>"; 
    echo $file->path; 
} 
1

私は同じ問題が、ここに私の解決策がありました:

$metaData = $dropbox->metaData($path); 

foreach($metaData['body']->contents as $file){ 
    $f = str_replace("/", "", $file->path); 
    echo "<li>$f</li>"; 
} 
関連する問題