2016-06-01 4 views
-2

私は、MySQLとPHPを使用して画像をアップロードしたり取り出したりするためのチュートリアルを複数回続けてきましたが、すべて同じテクニックを使用しているようです。イメージを通常どおり(問題ありません)アップロードしてから別のドキュメントを作成し、PHPスクリプトを使用してデータベースからイメージを選択し、 'content-type'をimage/jpegに変更してiframeに表示します。データベースから画像を保存して取得するには、より良い方法が必要です。

これは問題ありません。 の場合私は1枚の画像を表示したいと考えていました。しかし、私は、エンドユーザーが特定のページの多くのスタイル付きイメージを変更するCMS(like)システムを開発しています。そのテクニックは単一イメージのためだけに機能するように見えるため、うまく機能しません。

私は、ファイルをフォルダにアップロードするのではなく、そのパスをデータベースに保存します。画像自体をデータベースに保存したいと思います。

私はこれが広範な質問であることを知っています。誰かが私にステップチュートリアルのステップを与えることは間違いありません。しかし、もしあなたが私を素晴らしい人に導くことができれば。

ありがとうございます。

+3

あなたの質問は正確ですか?多分、あなたが達成しようとしているものを見て、いくつかのコードを追加するべきです。なぜパスやGUIDの代わりにデータベースにデータを格納したいのですか? –

+1

ファイルをフォルダにアップロードし、データベースのパスを保存するのはなぜですか?ここでは、データベースに画像を保存するためのベストプラクティスについて議論するスレッドがあります。 http://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay –

+1

これは複数の画像ではうまくいかないのはなぜですか? iframeとこれには何が関係していますか?静的なファイルでも動作しない単一の ''タグの中に複数の画像を読み込もうとしているという印象があります。 –

答えて

1

チュートリアルの概要を示す方法で画像を表示するために使用されるページで、取り込み後にヘッダー出力を行うと、PHP画像呼び出しファイルがイメージファイルとして機能するように設定されます。

だから、例えば

<img src='phpimagefile.php?id=imgreference' alt'my image'> 

を持つことができます。

このように複数の画像を表示したい場合は、単に上記のHTMLコードを別のページのforeachまたは同様のループにロールすることができます。

foreach ($imagesSet as $image){ 
    print "<img src='phpimagefile.php?id=".$image['id']."' alt'my image'>\n"; 
} 

編集:

あなたは本当にスマート得ることができ、いくつかのmod_rewriteであなたが実際のようなファイルパス名で画像を保存することができます

<img src='/images/45757/goldenShower.jpg' alt='My Image'> 

そしてmod_rewriteのはこれがあることを再編成します次の画像を見つけることができます:

<img src='/images/phpimagefile.php?id=45757' alt'my image'> 

イメージをデータベースに直接格納するのは面倒ですが、検索の問題(明らかな)は解決されません。

上記で説明したように、画像出力ファイルよりもデータベースの方が優れている理由を明確にすることができれば、あなたの現在の問題点を正確に(コメントから判断して)

いくつかの注意事項:

  • のiframeを使用しないでください。上記の例では、HTML imgタグを使用します。
  • 実際にあなたが得ようとしていることを理解するまでは、チュートリアルに進むことはできません。
  • ファイルをデータベーステーブルにアップロードしても、正しい画像を参照するためにそのテーブル/行への参照を保存する必要があるため、imageId = 4365のようなimageId = 'files/image/goldenShower.jpg'はデータベース内の別の参照になります。
関連する問題