2013-10-09 2 views
0

Как я могу изменить имя ведро a3-амазонки s3 в зависимости от области разработки, в которой я работаю.Загрузка Amazon S3 bucket

Например: для тестирования и разработки У меня есть то же самое amazon s3 bucket. Но я хочу динамически менять имена ковша в зависимости от среды, в которой будет применяться приложение.

У меня есть что-то вроде этого сейчас:

$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

CodeIgniter сначала попытается загрузить файл конфигурации из текущей среды - если ни один является он найдет глобальный файл конфигурации.

Например:

./application/config/production/aws.php

./application/config/development/aws.php

Локально, конфигурация развития будет загружен, но на производственном сервере с окружающей средой, установленным в производстве - может быть предусмотрен альтернативный конфигурационный.

Надеюсь, это поможет.

+0

Привет, спасибо, я думаю, что это хорошее решение. У меня вопрос сейчас, если я скажу что-то вроде этого: $ filename = devfilename в разработке aws.php и $ filename = profilename в производстве aws.php, как я использую его в моем коде контроллеров. Я имею в виду, должен ли я его вызвать или он будет загружаться автоматически, где он увидит $ filename в соответствии с окружающей средой, в которой он включен. Заранее спасибо. – modon

+0

В вашем контроллере вы должны загрузить конфигурацию: '$ this-> config-> load ('aws', TRUE);' Затем вы можете получить доступ к имени ведра в зависимости от вашего файла конфигурации, например: ' $ bucket = $ this-> config-> item ('bucket', 'aws'); ' – acairns

+0

В качестве альтернативы вы можете вернуть полную конфигурацию AWS и получить к ней доступ в виде массива: ' $ aws = $ this-> config -> item ('aws'); ' ' $ bucket = $ aws ['bucket']; ' – acairns

Смежные вопросы