Php AmazonS3 bucket上传
如何根据我所在的开发区域更改AmazonS3存储桶名称 例如:对于测试和开发,我有相同的AmazonS3存储桶。但是我想根据应用程序所处的环境动态更改bucket名称 我现在有这样的东西:Php AmazonS3 bucket上传,php,codeigniter,amazon-s3,app-config,Php,Codeigniter,Amazon S3,App Config,如何根据我所在的开发区域更改AmazonS3存储桶名称 例如:对于测试和开发,我有相同的AmazonS3存储桶。但是我想根据应用程序所处的环境动态更改bucket名称 我现在有这样的东西: $this->s3->putObjectFile($thumb_config['new_image'], 'newimage', $filename, S3::ACL_PUBLIC_READ); 我希望这个新映像是
$this->s3->putObjectFile($thumb_config['new_image'], 'newimage',
$filename, S3::ACL_PUBLIC_READ);
我希望这个新映像是动态的,这取决于应用程序将是哪个服务器
我可以将这个新图像作为一个变量,但是我如何设置这个变量的值
请与我分享您的想法、想法和经验。您可以使用环境配置文件: 您将在以下位置创建此文件:
/application/config/{ENVIRONMENT}/{FILENAME}.php
CodeIgniter将首先尝试从当前环境加载配置文件-如果没有找到,它将查找全局配置文件
例如:
/application/config/production/aws.php
/application/config/development/aws.php
在本地,将加载开发配置,但在环境设置为生产的生产服务器上,可以提供替代配置
希望这有帮助。嗨,谢谢。我认为这是一个很好的解决方案。现在我有一个问题,如果我这样说:$filename=devfilename在开发aws.php中,$filename=profilename在生产aws.php中,我如何在控制器代码中使用它。我的意思是,我必须调用它,否则它会根据它所在的环境自动加载到它将看到$filename的位置。提前感谢。在您的控制器中,您将加载配置:
$this->config->load('aws',TRUE)代码>然后可以访问bucket名称,具体取决于您的配置文件,例如:$bucket=$this->config->item('bucket','aws')代码>或者,您可以返回完整的AWS配置并作为数组访问它:AWS=$this->config->item('AWS')代码>$bucket=$aws['bucket']代码>