Как я могу узнать, завершился ли мой процесс putObjectFile () класса PHP S3? - PullRequest
1 голос
/ 30 марта 2011

Я использую класс PHP S3 из числа не предназначенных для размещения загруженных аудиофайлов в моем хранилище amazon S3, используя следующий синтаксис -

$s3 = new S3("awsAccessKey", "awsSecretKey");
$s3->putObjectFile(params);

, затем мой код продолжается и использует CURL для вызова другого сервера для получения файлав корзине S3 и перекодировать аудио.

Как узнать, когда putObject успешно завершил?Я замечаю, что процесс транскодирования может завершиться сбоем, и я предполагаю, что это потому, что файл не завершен и помещается на S3.Я предполагал, что следующая строка кода не будет выполнена, пока строка putObject не будет завершена, нужно ли обернуть это в if($s3->putObjectFile(...)) { }?

спасибо

1 Ответ

1 голос
/ 30 марта 2011

вы можете использовать trycatch ()

try
{
   $s3 = new S3("awsAccessKey", "awsSecretKey");
   $s3->putObjectFile(params);
}
catch(Exception $e)
{
   echo $e->getMessage();
}

в вашей функции, затем вы получите ошибку с

throw new exception('error, could not complete, ....');

например:

if(!dosomething) //if something failed
{
   throw new exception('error, could not complete, ....');
}

Используя этоон прекратит выполнение кода, как только будет сгенерировано исключение.а затем вы просто выводите эхо или можете сохранить его в переменной, а затем выводите эхосигнал в любое место

...