2017-07-09 8 views
0

アップロードやダウンロードなどのs3ファイルを扱うSDKがあり、s3ファイルには一意のURLでアクセスできます。Amazon S3はphpやhtmlのローカルファイルと同じです

HOWEVER、 PHPスクリプトからファイルにアクセスする最も簡単な方法や、ローカルファイルへのアクセスなどのhtmlスクリプトがあることを知りたいのですが、

//Example for html - 
<img src='/image/1.jpg'> 

この場合、すべてのURLを '/image/1.jpg'からs3 urlsに変更する必要があります。

//Example for php - 
$file = 'assets/jquery.js'; 
echo '<script src='.$file.'></script>'; 

s3にアクセスする唯一の方法は、すべてのローカルファイルに相対コードをローカルディレクトリとファイルからs3のURLに変更する必要があることです。

すべてのフルまたは絶対ファイルパスをs3 urlに変更するのは良い方法ではありません。 これは唯一の方法ですか?

3FUについてはどうですか? それは推奨されませんが、他の人が言うように正しく動作します。 S3FUを使用してファイルを読み取り、SDKをアップロードするだけですか?どう思いますか?

+1

** reasonj *がありますが、お勧めできません。 s3fs-fuseのようなファイルシステムエミュレーションでも同じことが言えます。それをしないでください。あなたのパススペースは清潔で整然と整っていますか?つまり、 '/ image /'と '/ assets /'のすべてがS3に保存されますか?その場合、CloudFrontを使用してこれらのリクエストを自動的にバケットにルーティングし、アプリケーションに変更を加えることなく他のすべてのパスをアプリケーションに送信することができます。 –

+1

...あなたが提供する両方の例は、実際にはHTMLのリンクの例です。 2番目の例では、PHPがHTMLをレンダリングしていますが、PHPが関わっているということは重要ではありません。 –

+0

@ Michael-sqlbot答えとしてこれらの返信を書いた方が良いでしょう:( ありがとうございました – Kabkee

答えて

2

あなたはS3互換のバケツを持っている場合は、常に次にあなたがする必要がある唯一のことは、適切なドメインですべてのパスを付加することで、同じ「フォルダ構造」

を保つためCloudBerryを使用することができます。 あなたの問題を解決しますか?

+0

* "あなたがする必要があるのは、すべてのパスに適切なドメインを追加することだけです。" * OPが避けようとしているようです。 –

関連する問題