如何判断我的PHP S3类putObjectFile()进程是否已完成?

时间:2011-03-29 20:55:09

标签: php file-upload upload amazon-s3

我正在使用非标签的PHP S3类将上传的音频文件放到我的amazon S3存储桶中,使用以下语法 -

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

然后我的代码继续并使用CURL调用另一台服务器来检索S3存储桶中的文件并对音频进行转码。

如何判断putObject何时成功完成?我注意到的是转码过程可能会失败,我认为这是因为文件尚未完成放入S3。我假设在putObject行完成之前不会执行下一行代码,我是否需要将其包装在if($s3->putObjectFile(...)) { }中?

感谢

1 个答案:

答案 0 :(得分:1)

你可以使用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, ....');
}

使用它会在抛出异常时立即停止执行代码。然后你只是回显或者你可以将它存储在变量中然后在任何你想要的地方回显