当前位置: 首页>>代码示例>>PHP>>正文


PHP Zend_Service_Amazon_S3::getObjectsByBucket方法代码示例

本文整理汇总了PHP中Zend_Service_Amazon_S3::getObjectsByBucket方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Service_Amazon_S3::getObjectsByBucket方法的具体用法?PHP Zend_Service_Amazon_S3::getObjectsByBucket怎么用?PHP Zend_Service_Amazon_S3::getObjectsByBucket使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Zend_Service_Amazon_S3的用法示例。


在下文中一共展示了Zend_Service_Amazon_S3::getObjectsByBucket方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: listItems

 /**
  * List items in the given directory in the storage service
  *
  * The $path must be a directory
  *
  *
  * @param  string $path Must be a directory
  * @param  array $options
  * @return array A list of item names
  */
 public function listItems($path, $options = null)
 {
     try {
         // TODO Support 'prefix' parameter for Zend_Service_Amazon_S3::getObjectsByBucket()
         return $this->_s3->getObjectsByBucket($this->_defaultBucketName);
     } catch (Zend_Service_Amazon_S3_Exception $e) {
         throw new Zend_Cloud_StorageService_Exception('Error on list: ' . $e->getMessage(), $e->getCode(), $e);
     }
 }
开发者ID:laiello,项目名称:vinhloi,代码行数:19,代码来源:S3.php

示例2: getList

 /**
  * Lists all files in the upload directory.
  *
  * @return array
  */
 public function getList()
 {
     $this->_initApi();
     $this->_verifyPath();
     // strip off preceding slash, add trailing one.
     $path = substr($this->_config['path'], 1) . '/';
     $objects = $this->_api->getObjectsByBucket($this->_config['bucket'], array('prefix' => $path));
     return $objects;
 }
开发者ID:grrr-amsterdam,项目名称:garp3,代码行数:14,代码来源:S3.php

示例3: syncDirectory

 public function syncDirectory()
 {
     $accessKey = Mage::getStoreConfig('amazonsync/general/access_key_id');
     $secretKey = Mage::getStoreConfig('amazonsync/general/secret_access_key');
     $bucket = Mage::getStoreConfig('amazonsync/general/s3_bucket_path');
     $prefix = Mage::getStoreConfig('amazonsync/general/prefix');
     $magentoDir = Mage::getStoreConfig('amazonsync/general/magento_directory');
     $magentoDir = Mage::getBaseDir() . "/" . $magentoDir;
     //Return if S3 settings are empty
     if (!($accessKey && $secretKey && $bucket)) {
         return;
     }
     //Prepare meta data for uploading. All uploaded images are public
     $meta = array(Zend_Service_Amazon_S3::S3_ACL_HEADER => Zend_Service_Amazon_S3::S3_ACL_PUBLIC_READ);
     $s3 = new Zend_Service_Amazon_S3($accessKey, $secretKey);
     //Build prefix for all files on S3
     if ($prefix) {
         $cdnPrefix = $bucket . '/' . $prefix;
     } else {
         $cdnPrefix = $bucket;
     }
     $allFiles = array();
     if (is_dir($magentoDir)) {
         $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($magentoDir), RecursiveIteratorIterator::SELF_FIRST);
         $dir = null;
         foreach ($objects as $name => $object) {
             //Get name of the file and create its key on S3
             if (!($object->getFileName() == '.' || $object->getFileName() == '..')) {
                 if (is_dir($object)) {
                     continue;
                 }
                 $fileName = str_replace($magentoDir, '', $name);
                 $cdnPath = $cdnPrefix . $fileName;
                 //Full path to uploaded file
                 $file = $name;
                 //Upload original file
                 $allFiles[] = $cdnPath;
                 if (!$s3->putFile($file, $cdnPath, $meta)) {
                     $msg = 'Can\'t upload original image (' . $file . ') to S3 with ' . $cdnPath . ' key';
                     throw new Mage_Core_Exception($msg);
                 }
             }
         }
         //Remove Not Matched Files
         foreach ($s3->getObjectsByBucket($bucket) as $object) {
             $object = $bucket . '/' . $object;
             if (!in_array($object, $allFiles)) {
                 $s3->removeObject($object);
             }
         }
         return 'All files uploaded to S3 with ' . $bucket . ' bucket';
     } else {
         $msg = $magentoDir . ' directory does not exist';
         throw new Mage_Core_Exception($msg);
     }
 }
开发者ID:brentwpeterson,项目名称:magento-amazon-s3-sync,代码行数:56,代码来源:Syncfile.php

示例4: testGetObjectsByBucketParams

 /**
  *  @group ZF-7773
  */
 public function testGetObjectsByBucketParams()
 {
     $this->_amazon->createBucket("testgetobjectparams1");
     $this->_amazon->putObject("testgetobjectparams1/zftest1", "testdata");
     $this->_amazon->putObject("testgetobjectparams1/zftest2", "testdata");
     $list = $this->_amazon->getObjectsByBucket("testgetobjectparams1", array('max-keys' => 1));
     $this->assertEquals(1, count($list));
     $this->_amazon->removeObject("testgetobjectparams1/zftest1", "testdata");
     $this->_amazon->removeObject("testgetobjectparams1/zftest2", "testdata");
     $this->_amazon->removeBucket("testgetobjectparams1");
 }
开发者ID:navassouza,项目名称:zf2,代码行数:14,代码来源:OnlineTest.php

示例5: indexAction

 public function indexAction()
 {
     $s3 = new Zend_Service_Amazon_S3('AKIAJ5HTOSBB7ITPA6VQ', 'n8ZjV8xz/k/FxBGhrVduYlSXVFFmep7aZJ/NOsoj');
     $this->view->buckets = $s3->getBuckets();
     $bucketName = 'vaultman';
     $ret = $s3->getObjectsByBucket($bucketName);
     $this->view->objects = $ret;
     $this->view->form = new Mybase_Form_Files();
     $formData = $this->getRequest()->getPost();
     if ($this->_request->isPost()) {
         $s3->registerStreamWrapper("s3");
         //file_put_contents("s3://".$bucketName."/".$_FILES['img']['name'], fopen($_FILES['img']['tmp_name'], 'r'));
         $adapter = new Zend_File_Transfer_Adapter_Http();
         $adapter->setDestination("s3://" . $bucketName . "/");
         //$adapter->receive();
     }
 }
开发者ID:besters,项目名称:My-Base,代码行数:17,代码来源:FilesController.php

示例6: upload

 public function upload($observer)
 {
     $product = $observer->getEvent()->getProduct();
     //There's nothing to process because we're using images
     //from original product in duplicate
     if ($product->getIsDuplicate() || $product->getData('mventory_update_duplicate')) {
         return;
     }
     $images = $observer->getEvent()->getImages();
     //Use product helper from MVentory_API if it's installed and is activated
     //The helper is used to get correct store for the product when MVentory_API
     //extension is used
     //Change current store if product's store is different for correct
     //file name of images
     if (Mage::helper('core')->isModuleEnabled('MVentory_API')) {
         $store = Mage::helper('mventory/product')->getWebsite($product)->getDefaultStore();
         $changeStore = $store->getId() != Mage::app()->getStore()->getId();
     } else {
         $store = Mage::app()->getStore();
         $changeStore = false;
     }
     //Get settings for S3
     $accessKey = $store->getConfig(MVentory_CDN_Model_Config::ACCESS_KEY);
     $secretKey = $store->getConfig(MVentory_CDN_Model_Config::SECRET_KEY);
     $bucket = $store->getConfig(MVentory_CDN_Model_Config::BUCKET);
     $prefix = $store->getConfig(MVentory_CDN_Model_Config::PREFIX);
     $dimensions = $store->getConfig(MVentory_CDN_Model_Config::DIMENSIONS);
     $cacheTime = (int) $store->getConfig(MVentory_CDN_Model_Config::CACHE_TIME);
     //Return if S3 settings are empty
     if (!($accessKey && $secretKey && $bucket && $prefix)) {
         return;
     }
     //Build prefix for all files on S3
     $cdnPrefix = $bucket . '/' . $prefix . '/';
     //Parse dimension. Split string to pairs of width and height
     $dimensions = str_replace(', ', ',', $dimensions);
     $dimensions = explode(',', $dimensions);
     //Prepare meta data for uploading. All uploaded images are public
     $meta = array(Zend_Service_Amazon_S3::S3_ACL_HEADER => Zend_Service_Amazon_S3::S3_ACL_PUBLIC_READ);
     if ($cacheTime > 0) {
         $meta[MVentory_CDN_Model_Config::AMAZON_CACHE_CONTROL] = 'max-age=' . $cacheTime;
     }
     if ($changeStore) {
         $emu = Mage::getModel('core/app_emulation');
         $origEnv = $emu->startEnvironmentEmulation($store);
     }
     $config = Mage::getSingleton('catalog/product_media_config');
     $s3 = new Zend_Service_Amazon_S3($accessKey, $secretKey);
     foreach ($images['images'] as &$image) {
         //Process new images only
         if (isset($image['value_id'])) {
             continue;
         }
         //Get name of the image and create its key on S3
         $fileName = $image['file'];
         $cdnPath = $cdnPrefix . 'full' . $fileName;
         //Full path to uploaded image
         $file = $config->getMediaPath($fileName);
         //Check if object with the key exists
         if ($s3->isObjectAvailable($cdnPath)) {
             $position = strrpos($fileName, '.');
             //Split file name and extension
             $name = substr($fileName, 0, $position);
             $ext = substr($fileName, $position);
             //Search key
             $_key = $prefix . '/full' . $name . '_';
             //Get all objects which is started with the search key
             $keys = $s3->getObjectsByBucket($bucket, array('prefix' => $_key));
             $index = 1;
             //If there're objects which names begin with the search key then...
             if (count($keys)) {
                 $extLength = strlen($ext);
                 $_keys = array();
                 //... store object names without extension as indeces of the array
                 //for fast searching
                 foreach ($keys as $key) {
                     $_keys[substr($key, 0, -$extLength)] = true;
                 }
                 //Find next unused object name
                 while (isset($_keys[$_key . $index])) {
                     ++$index;
                 }
                 unset($_keys);
             }
             //Build new name and path with selected index
             $fileName = $name . '_' . $index . $ext;
             $cdnPath = $cdnPrefix . 'full' . $fileName;
             //Get new name for uploaded file
             $_file = $config->getMediaPath($fileName);
             //Rename file uploaded to Magento
             rename($file, $_file);
             //Update values of media attribute in the product after renaming
             //uploaded image if the image was marked as 'image', 'small_image'
             //or 'thumbnail' in the product
             foreach ($product->getMediaAttributes() as $mediaAttribute) {
                 $code = $mediaAttribute->getAttributeCode();
                 if ($product->getData($code) == $image['file']) {
                     $product->setData($code, $fileName);
                 }
             }
//.........这里部分代码省略.........
开发者ID:sebastianwahn,项目名称:MVentory_S3CDN,代码行数:101,代码来源:Observer.php


注:本文中的Zend_Service_Amazon_S3::getObjectsByBucket方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。