2013-04-12 34 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提交問題。

相關問題