я использую этот неофициальный API-интерфейс для управления файлом в Dropbox, я хочу показать на моем веб-сайте список файлов и с помощью этого списка управлять ими с помощью метода delete ().
Чтобы вернуть список файлов, я использую:
include('../dropbox-2-k/vendor/autoload.php');
use Kunnu\Dropbox\DropboxApp;
use Kunnu\Dropbox\Dropbox;
$app = new DropboxApp("xxxxxxxxx", "xxxxxx","xxxxxxxxxxxxxxxxx");//Configure Dropbox service
$dropbox = new Dropbox($app);
$listFolderContents = $dropbox->listFolder("/");
//Fetch Items (Returns an instance of ModelCollection)
$items = $listFolderContents->getItems();
//All Items
$files=$items->toArray();
это возвращает массив, сформированный FileMetadata Object как это:
Kunnu\Dropbox\Models\FileMetadata Object ( [id:protected] => id:3QPTxoe-gHAAAAAAAAAAAg [name:protected] => cambio_nome.txt [rev:protected] => 14c8c2758 [size:protected] => 40 [path_lower:protected] => /cambio_nome.txt [media_info:protected] => [sharing_info:protected] => [path_display:protected] => /cambio_nome.txt [client_modified:protected] => 2016-08-13T17:09:42Z [server_modified:protected] => 2016-08-13T17:09:42Z [has_explicit_shared_members:protected] => [data:protected] => Array ( [.tag] => file [name] => cambio_nome.txt [path_lower] => /cambio_nome.txt [path_display] => /cambio_nome.txt [id] => id:3QPTxoe-gHAAAAAAAAAAAg [client_modified] => 2016-08-13T17:09:42Z [server_modified] => 2016-08-13T17:09:42Z [rev] => 14c8c2758 [size] => 40 ) ) Kunnu\Dropbox\Models\FileMetadata Object ( [id:protected] => id:3QPTxoe-gHAAAAAAAAAAAw [name:protected] => 20150805_181544.jpg [rev:protected] => 24c8c2758 [size:protected] => 1735369 [path_lower:protected] => /20150805_181544.jpg [media_info:protected] => [sharing_info:protected] => [path_display:protected] => /20150805_181544.jpg [client_modified:protected] => 2016-08-21T07:34:23Z [server_modified:protected] => 2016-08-21T07:34:23Z [has_explicit_shared_members:protected] => [data:protected] => Array ( [.tag] => file [name] => 20150805_181544.jpg [path_lower] => /20150805_181544.jpg [path_display] => /20150805_181544.jpg [id] => id:3QPTxoe-gHAAAAAAAAAAAw [client_modified] => 2016-08-21T07:34:23Z [server_modified] => 2016-08-21T07:34:23Z [rev] => 24c8c2758 [size] => 1735369 ) )
я должен извлечь имя ([имя: защищено]).
Как я могу это сделать?
Я тоже мучаюсь с этой библиотекой, так как она не может загружать файлы. Я не знаю почему.
В любом случае, чтобы решить вашу проблему, вы можете использовать $ item-> name следующим образом:
$items = $listFolderContents->getItems();
foreach ($items as $item) {
if ($item->getData()['.tag'] == 'folder') {
// this is a folder
echo $item->name;
}
if ($item->getData()['.tag'] == 'file') {
// this is a file
echo $item->name;
}
}
Других решений пока нет …