簡體   English   中英

S3-需要從AWS下載特定圖像並以zip下載

[英]S3 - need to download particular images from aws and download them in zip

我需要將圖像從AWS存儲桶下載到本地目錄,然后將其zip下載。

我已經嘗試了我的代碼,但無法弄清楚如何將圖像復制到本地目錄中。

這是我的功能:

     public function commomUpload($contentId,$prop_id)
 {
    $client = S3Client::factory(array(
                'key' => 'my key',
                'secret' => '----secret-----',
            ));
    $documentFolderName = 'cms_photos';
    $docbucket = "propertiesphotos/$prop_id/$documentFolderName";
            $data = $this->Photo->find('all',array('conditions'=>array('Photo.content_id'=>$contentId)));

    //pr($data);die;
    $split_point = '/';

    foreach($data as $row){
        $string = $row['Photo']['aws_link'];

        $result = array_map('strrev', explode($split_point, strrev($string)));
        $imageName = $result[0];
        $result = $client->getObject(array(
            'Bucket' => $docbucket,
            'Key'    => $imageName
        ));
        $uploads_dir = '/img/uploads/';
        if (!copy($result, $uploads_dir)) {
            echo "failed to copy $result...\n";
        }
        //move_uploaded_file($imageName, "$uploads_dir/$imageName");
    }
}

不要使事情復雜化。 存在一個非常簡單的工具,稱為s3cmd。 在任何平台上安裝它。 點擊這里了解更多。 從s3下載圖像后,use可以使用gzip或僅使用bash腳本將其壓縮。 不要忘記配置您的s3cmd。 您需要隨身攜帶AWS訪問密鑰和秘密密鑰。

您可以使用Amazon S3 cakephp插件https://github.com/fullybaked/CakeS3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM