2013-10-09 287 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

相關問題