0

アセットをクラウドに保存したいのですが。Zend_Cloud_Storageが適切なライブラリかもしれないと思いましたか?今のところ、それらはZend_Cloud_StorageService_Adapter_Filesystemを使用してローカルに保存されます。これまでのところ、アップロードは機能します。

Zend_Cloud_StorageService_Adapter_Filesystemからブラウザにファイルを送信する正しい方法は何ですか?これは、PHPを介してストリーミングすることによってのみ可能だと思いますか?はいの場合、すべてのファイルヘッダーで機能させるのに問題があるため、コード例があります。

S3を使用して、リダイレクトを作成するか、ファイルをs3バケットに直接リンクしますか?

私はクラウドストレージにかなり慣れていないので、あなたの助けに本当に感謝しています。

よろしく、マヌエル

4

1 に答える 1

1

Zend Cloudサービスはかなり新しく、私の経験から、ドキュメントにはまだ少し作業が必要です。クラウドサービスに応じて、オブジェクトを取得してユーザーに配信するか、場合によってはユーザーにアセットへの直接URLを提供するかを選択できます(これは、オブジェクトへのアクセスを制御する必要があるかどうかに大きく依存します) )。

プログラムでアイテムをフェッチするには、次のように、アイテムを正しいヘッダーで機能させることができる必要があります。

$image = $storage->fetchItem("/my/remote/path/picture.jpg");
header("content-type: image/jpg");
echo file_get_contents($image);

理論的には、メタデータからヘッダーのコンテンツタイプを取得できますが、アダプター間で一貫しているかどうかはわかりません。

リンクはクラウドに直接依存します。ファイルシステムの場合、ファイルが存在する場所へのパスを知っている必要があります。これにより、ファイルにアクセスできる場合は、そこからリンクできます。Amazonでは、ファイルをアップロードするときにアクセス許可をpublicに設定できます。S3ドコに例があります

Zend ServiceS3ドコをご覧になることをお勧めします。ZendCloudは単なるラッパーであり、ジェネリック化しようとすると多くの機能が失われます。長時間使用すると、最終的にはサービスに直接電話をかけることになります。

幸運を!

于 2012-06-13T01:32:54.067 に答える