2013-10-09 253 views
0

如何根据我所在的开发区域更改我的亚马逊s3存储桶名称。Amazon S3存储桶上传

例如:测试和开发我有相同的亚马逊s3桶。但我想根据应用程序的环境动态更改存储桶名称。

我现在是这样的:

$this->s3->putObjectFile($thumb_config['new_image'], 'newimage' ,$filename, S3::ACL_PUBLIC_READ) 

我想这取决于服务器的应用程序将是newimage是动态的。

我可以将这个newimage作为一个变量,但是我如何设置这个变量的值。

请与我分享您的想法,想法和经验。

非常感谢。

回答

0

你可以使用一个环境配置文件:http://ellislab.com/codeigniter/user-guide/libraries/config.html#environments

您可以创建在本文件:

./application/config/{ENVIRONMENT}/{FILENAME}.php

笨将首先尝试从当前环境加载配置文件 - 如果没有一个发现后,它会查找全局配置文件。

例如:

./application/config/production/aws.php

./application/config/development/aws.php

在本地,开发配置将被加载,而是设置为生产环境中的生产服务器上 - 可以提供一种替代的配置。

希望这会有所帮助。

+0

嗨,谢谢我认为这是一个很好的解决方案。我现在有一个问题,如果我这样说:开发aws.php中的$ filename = devfilename和生产aws.php中的$ filename = profilename,我如何在我的控制器代码中使用它。我的意思是我必须调用它,否则它会根据它所处的环境自动加载它将看到$ filename的地方。提前致谢。 – modon

+0

在你的控制器中,你可以加载配置文件: '$ this-> config-> load('aws',TRUE);' 然后你可以根据你的配置文件来访问bucket名称,如: ' $ bucket = $ this-> config-> item('bucket','aws');' – acairns

+0

或者,您可以返回完整的AWS配置并以数组的形式访问它: '$ aws = $ this-> config - > item('aws');' '$ bucket = $ aws ['bucket'];'' – acairns

相关问题