2016-10-20 1 views
1

Ich benutze das Uploadcare Widget mit mehreren Upload und bekomme eine Gruppen ID zurück auf Post. Wenn ich die API aufrufe, um die Dateien in der Gruppe aufzulisten, möchte ich bestimmte Informationen über jede Datei extrahieren (uuid, mime_type, original_filename usw.).Uploadcare iteriere durch Array in PHP

Hier ist mein Code:

$privateFiles = $_REQUEST['privateFiles'];  
$ucApi = new Uploadcare\Api(public_key_removed, private_key_removed); 
$group = $ucApi->getGroup($privateFiles); 
$files = $group->getFiles();   

foreach ($files as $ucFile) 
    { 
     echo $ucFile['uuid']; 
    } 

Wenn ich versuche, dies zu tun, erhalte ich diese Fehlermeldung: Fatal error: Cannot use object of type Uploadcare\File as array

ich die Daten auf jeden Fall bin immer von der API zurück, aber nur ein Problem mit versuchen, es zu analysieren. Hier ist ein Beispiel von dem, was ich bin immer wieder:

Array ([0] => Uploadcare\File Object ([re_uuid_with_effects:Uploadcare\File:private] => !/?(?P[a-z0-9]{8}-(?:[a-z0-9]{4}-){3}[a-z0-9]{12})(?:/(?:-/(?P(?:[^/]+/)+)))?(?[^/]*)! [uuid:Uploadcare\File:private] => 47ff1aa0-eebe-43d0-8803-0578455e82a1 [operations:Uploadcare\File:private] => Array () [api:Uploadcare\File:private] => Uploadcare\Api Object ([public_key:Uploadcare\Api:private] => public_key_removed [secret_key:Uploadcare\Api:private] => private_key_removed [api_host:Uploadcare\Api:private] => api.uploadcare.com [current_method:Uploadcare\Api:private] => GET [cdn_host] => ucarecdn.com [cdn_protocol] => https [retry_throttled:Uploadcare\Api:private] => 1 [userAgentName:Uploadcare\Api:private] => PHP Uploadcare Module [widget] => Uploadcare\Widget Object ([api:Uploadcare\Widget:private] => Uploadcare\Api Object *RECURSION*) [uploader] => Uploadcare\Uploader Object ([host:Uploadcare\Uploader:private] => upload.uploadcare.com [api:Uploadcare\Uploader:private] => Uploadcare\Api Object *RECURSION*) [version] => 1.5.5/5.6 [api_version] => 0.4 [defaultFilters:Uploadcare\Api:private] => Array ([file] => Array ([stored] => [removed] =>))) [operation_list:Uploadcare\File:private] => Array ([0] => crop [1] => resize [2] => scale_crop [3] => effect [4] => preview) [cached_data:Uploadcare\File:private] => Array ([uuid] => 47ff1aa0-eebe-43d0-8803-0578455e82a1 [original_file_url] => https://ucarecdn.com/47ff1aa0-eebe-43d0-8803-0578455e82a1/processes.txt [image_info] => [mime_type] => text/plain [is_ready] => 1 [url] => https://api.uploadcare.com/files/47ff1aa0-eebe-43d0-8803-0578455e82a1/ [original_filename] => processes.txt [datetime_uploaded] => 2016-10-20T19:28:44.314526Z [size] => 8543 [is_image] => [datetime_stored] => [datetime_removed] => [source] => [default_effects] =>) [default_effects] => [filename] =>) [1] => Uploadcare\File Object ([re_uuid_with_effects:Uploadcare\File:private] => !/?(?P[a-z0-9]{8}-(?:[a-z0-9]{4}-){3}[a-z0-9]{12})(?:/(?:-/(?P(?:[^/]+/)+)))?(?[^/]*)! [uuid:Uploadcare\File:private] => 76e4fbca-0133-4863-838f-43b3e47a892e [operations:Uploadcare\File:private] => Array () [api:Uploadcare\File:private] => Uploadcare\Api Object ([public_key:Uploadcare\Api:private] => public_key_removed [secret_key:Uploadcare\Api:private] => private_key_removed [api_host:Uploadcare\Api:private] => api.uploadcare.com [current_method:Uploadcare\Api:private] => GET [cdn_host] => ucarecdn.com [cdn_protocol] => https [retry_throttled:Uploadcare\Api:private] => 1 [userAgentName:Uploadcare\Api:private] => PHP Uploadcare Module [widget] => Uploadcare\Widget Object ([api:Uploadcare\Widget:private] => Uploadcare\Api Object *RECURSION*) [uploader] => Uploadcare\Uploader Object ([host:Uploadcare\Uploader:private] => upload.uploadcare.com [api:Uploadcare\Uploader:private] => Uploadcare\Api Object *RECURSION*) [version] => 1.5.5/5.6 [api_version] => 0.4 [defaultFilters:Uploadcare\Api:private] => Array ([file] => Array ([stored] => [removed] =>))) [operation_list:Uploadcare\File:private] => Array ([0] => crop [1] => resize [2] => scale_crop [3] => effect [4] => preview) [cached_data:Uploadcare\File:private] => Array ([uuid] => 76e4fbca-0133-4863-838f-43b3e47a892e [original_file_url] => https://ucarecdn.com/76e4fbca-0133-4863-838f-43b3e47a892e/XPlaneInstallerLog.txt [image_info] => [mime_type] => text/plain [is_ready] => 1 [url] => https://api.uploadcare.com/files/76e4fbca-0133-4863-838f-43b3e47a892e/ [original_filename] => X-Plane Installer Log.txt [datetime_uploaded] => 2016-10-20T19:28:44.332926Z [size] => 5526 [is_image] => [datetime_stored] => [datetime_removed] => [source] => [default_effects] =>) [default_effects] => [filename] =>))

Antwort

0

Uploadcare\File ein Objekt ist, so sollten Sie es wie eine behandeln.

Um UUID zu erhalten, gibt es eine Methode: $file->getUuid().

Für andere Meta-Daten können Sie usedata Array:

foreach ($files as $file) 
{ 
    echo $file->getUuid(); 
    echo $file->data['is_image']; 
    echo $file->data['datetime_uploaded']; 
    // etc 
} 
+0

perfekt funktioniert - DANKE! – Jason

Verwandte Themen