2009-07-30 25 views
1

ホテル予約のためのウェブサイトを作成しています。私たちは大量の画像を保存する必要があります。ファイルシステムにイメージを格納し、そのパスをデータベースに格納する方がよいと考えています。しかし、手動で保存する必要がありますか?他のウェブサイトのウェブサービスを使用して画像を取得しています。ファイルシステムに画像を動的に保存する方法はありますか?イメージをファイルシステムに動的に格納する方法は?

+0

どのDB、どのオペレーティングシステムですか? – RichardOD

答えて

1

これは、データベースとイメージの表示方法によって異なります。一般的には、イメージをクライアントに配信する方法に応じて、イメージをディスクに保存する方がよいでしょう。

通常、画像を取得するのは、サーバー上でWebサイトから画像をダウンロードして保存するプロセスです。多くのシステムでは、wgetやcurlを使って画像をダウンロードして保存することができます。

データの取得方法によっても異なります。 XMLなどのインラインバイナリであれば、アプリケーション言語の機能を使用して抽出し、ディスクに保存する必要があります。

どのように行うかの仕組みは、実装言語とホスティングオペレーティングシステムによって大きく異なります。

2

PHPのファイル取得コンテンツ機能またはCURLを使用して、ディスクに保存するすべてのイメージをダウンロードするか、クライアントに外部イメージを参照するだけで、サーバにローカルに保存する必要はありません。

Pythonが好きなら、必要に応じてMecanize libとBeautifulSoupをチェックしてXMLを解析します。

ディスクに格納してデータベースに格納すると、データベースに格納することは有益です。拡張が必要な​​場合は、簡単ですが、lighttpdやnginxのhttpサーバをイメージ専用にするか、単に他のサーバに置いて帯域幅をバランスさせることができます。

0

最初のファイルシステムの場所が空白の状態で、リモート(Webサービス)とローカル(ファイルシステム)の両方の場所をデータベースに保存する必要があると思います。ユーザーが最初に画像を要求した場合、ダウンロードしてファイルフィールドを更新して表示します。このコンセプトでは、クライアントが必要とするイメージのみが表示されます。

関連する問題