2013-04-12 27 views

回答

1

经过这里和那里的代码搞乱之后,我查看了一些我之前创建的其他网站的S3调用,并比较了如何完成这些调用。我发现我以前的代码我没有使用以下命令:

$bucket = 'mybucket'.strtolower($s3->key); 

相反,我用:

$bucket = 'mybucket'; 

最后的代码是这样的:

include 'lib/sdk.class.php'; 
$s3 = new AmazonS3(); 
$bucket = 'mybucket'; 
$key = 'myfile.txt'; 
$response = $s3->if_object_exists($bucket,$key); 

就这样结束开始工作。但是,我不知道为什么这可以通过amazon提供的示例工作。

+0

这个解决方案也适用于我,但我不知道为什么。 –

1

如果文件真正存在并且可以访问,那么这个函数应该返回true。我会尝试通过以下操作把SDK在调试模式:

$s3->enable_debug_mode(true); 

这将打开CURL_VERBOSE输出,你应该能看到实际的HTTP请求和响应将S3,当你执行代码。这应该可以帮助你找出可能出错的地方。在此之后,如果事实证明您认为存在缺陷,您可以在https://github.com/amazonwebservices/aws-sdk-for-php/issues上的SDK中为GitHub提交问题。

相关问题