コード例 #1
0
ファイル: AmazonS3.php プロジェクト: unrealprojects/journal
 /**
  * Get Object related information
  * 
  * @param string $path The object path
  * 
  * @return array The object info
  */
 public function getObjectInfo($path)
 {
     $result = false;
     $obj = null;
     // check if path is set
     if (!$path) {
         return false;
     }
     // get info from s3
     $result = $this->s3->getObjectInfo($this->bucket, $path);
     // propagate S3 object errors to storage object
     $this->s3->propagateToObject($this);
     // if something went wrong, report
     if ($result == FALSE) {
         $this->setError(JText::_('PLG_ZLFRAMEWORK_STRG_ERR_SOMETHING_WENT_WRONG'));
         return false;
     }
     // prepare object
     $obj = array();
     $obj['name'] = basename($path);
     $obj['path'] = $path;
     $obj['ext'] = JFile::getExt($obj['name']);
     $obj['basename'] = basename($obj['name'], '.' . $obj['ext']);
     $obj['content_type'] = $this->app->zlfw->filesystem->getContentType($obj['name']);
     $obj['size']['value'] = $this->app->zlfw->filesystem->returnBytes($result['size']);
     $obj['size']['display'] = $this->app->zlfw->filesystem->formatFilesize($obj['size']['value'], 'KB');
     // 'preview'	=> $this->s3->getAuthenticatedURL($this->bucket, $path, 900);
     // set the object type
     if (preg_match('/\\/$/', $path)) {
         // is folder, they have a slash at the end
         $obj['type'] = 'folder';
     } else {
         $obj['type'] = 'file';
     }
     return $obj;
 }