如何使用php webservice将图像上传到Amazon S3?

问题描述:

我通过Web服务使用PHP的图片上传到Amazon S3,但它显示了以下错误:如何使用php webservice将图像上传到Amazon S3?

未能打开流:需要“的Zend /服务/亚马逊/摘要中没有这样的文件或目录和 失败开放。 PHP '(include_path中=':/ usr/lib中/ PHP:在/ usr /本地/ LIB/PHP')在/home/jltcnyc1/public_html/mydb/S3.php

require_once 'S3.php'; 
$s3 = new Zend_Service_Amazon_S3(secret_id,key); 
$s3->createBucket("photos"); 
$file=basename($_FILES['file']['name']); 
$s3->putObject("photos/", "file"); 
echo $s3->getObject("photos"); 

的文件的详细信息被插入到我的数据库好,但不是我的S3。

+2

你没有安装Zend Framework。或者至少你的脚本对它的位置一无所知 – zerkms

+0

@Suresh:请重新生成你的API密钥。 – hakre

+1

你在上面的源代码中分享你的亚马逊S3秘密。 – hakre

您有一个路径错误,并且您的'Zend/Service/Amazon/Abstract.php'文件未找到。

在你的S3.php文件中,你需要在你的服务器根目录中包含'Zend/Service/Amazon/Abstract.php'的适当路径位置。

如果Abstract.php是在你的服务器的根目录的代码如下所示:

require_once 'Abstract.php'; 

另外,如果你的S3.php是不是在你的服务器的根目录,你可以修复你的代码的require_once上述像这个:

require_once 'path_to_zend/S3.php'; 
+1

...或设置正确的包含路径(这是更常见的方法) – zerkms

+0

@tim peterson:iam使用上述两种方法,但结果不会改变 –

+0

@Suresh是您的服务器根目录中的S3.php? –