2012-05-07 35 views
2

は、私がWebサービスを通じてPHPを使用してアマゾンS3に画像をアップロードしていますが、それは次のようなエラーが表示されます。「Zendの/サービス/アマゾン/抽象不要なファイルまたはディレクトリ内と 失敗した開口部: php webserviceを使用してAmazon S3に画像をアップロードする方法は?

は、ストリームをオープンに失敗しました。 PHP '(のinclude_path =':は/ usr/libに/ PHP:は/ usr/local/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"); 

私のデータベースにはOKですが、S3にはありません。

+2

Zend Frameworkがインストールされていません。または、少なくともあなたのスクリプトはその場所について何も知らない。 – zerkms

+0

@シュレシ:APIキーを再生成してください。 – hakre

+1

上記のソースコードであなたのamazon S3のシークレットを共有しています。 – hakre

答えて

0

あなたはパスエラーがあり、あなたの 'Zend/Service/Amazon/Abstract.php'ファイルが見つかりません。

S3.phpファイルでは、サーバールートから「Zend/Service/Amazon/Abstract.php」の適切なパスの場所を指定する必要があります。 Abstract.php、サーバーのルートにある場合は

は、そのコードは次のようになります。あなたのS3.phpは、サーバーのルートにない場合

require_once 'Abstract.php'; 

あるいは、あなたが上記のようなコードで、あなたのrequire_onceを修正することができますこれは:

require_once 'path_to_zend/S3.php'; 
+1

...または正しい組み込みパスを設定してください(より一般的です) – zerkms

+0

@ tim peterson:iamは上記の2つの方法を使用しますが、結果は変更されません –

+0

@SureshはサーバルートディレクトリのS3.phpですか? –

関連する問題