Php S3-需要从aws下载特定的图像,并在zip中下载
我需要将AWS bucket中的图像下载到本地目录,然后压缩下载 我已经尝试了我的代码,但不知道如何将图像复制到本地目录中 以下是我的功能:Php S3-需要从aws下载特定的图像,并在zip中下载,php,amazon-web-services,amazon-s3,cakephp-2.0,Php,Amazon Web Services,Amazon S3,Cakephp 2.0,我需要将AWS bucket中的图像下载到本地目录,然后压缩下载 我已经尝试了我的代码,但不知道如何将图像复制到本地目录中 以下是我的功能: public function commomUpload($contentId,$prop_id) { $client = S3Client::factory(array( 'key' => 'my key', 'secret' => '----secret--
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插件