2016-10-20 7 views
1

Uploadcare 다중 업로드 위젯을 사용하고 게시물에 그룹 ID를 다시 가져옵니다. 그룹에서 파일을 나열하도록 API를 호출하면 각 파일 (uuid, mime_type, original_filename 등)에 대한 특정 정보를 추출하려고합니다. Fatal error: Cannot use object of type Uploadcare\File as arrayPHP로 배열을 통한 Uploadcare 반복

나는 확실히 API에서 데이터를 다시 받고 있지만, 단지 문제에 봉착 :

$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']; 
    } 

나는이 작업을 수행하려고 할 때이 오류가 : 여기

내 코드입니다 그것을 분석하려고합니다.

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] =>))

답변

0

Uploadcare\File 개체입니다, 그래서 당신은 하나처럼 취급한다 : 여기에 내가 다시 받고 있어요 무엇의 샘플입니다.

UUID를 얻으려면 방법이 있습니다 : $file->getUuid(). 다른 메타 데이터의 경우

당신이 할 수있는 usedata 배열 :

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

완벽한 작품 - 감사합니다! – Jason