sql >> データベース >  >> RDS >> Mysql

mysqlblobに保存されている画像を表示する

    さて...あなたが説明したことをなぜそれが行うのかに対する答えは、header()関数を使用しているためです。 PHPでは、ヘッダー呼び出しの前に何も印刷できません。これは、Webサーバーにコンテンツヘッダーを準備するように指示するためです。通常、これらはすべてのコンテンツに完全に取って代わります。

    次に、画像をデータベースに保存することは、通常、2つの理由から悪い考えです。

    1. パフォーマンスとレンダリングに大きな影響を与えます。
    2. 画像自体を表示するだけでなく、BLOBデータをレンダリングするコードを作成する必要があります。

    データベース駆動型の画像表示に適した方法は、画像をディレクトリに保存し、それらのファイル名をデータベースに保存することです。これで、画像を表示する場合は、表示するファイル名についてDBをポーリングし、そのファイル名をHTML属性に含めるだけです。

    実行もはるかに高速です。

    また、スクリプトで実際にレンダリングを実行したい場合は、そのスクリプトでヘッダーを定義し、ヘッダーを定義した後に画像BLOBをエコーまたは印刷する必要があることを指摘しておきます。

    htmlタグを作成するときは、src属性で、次のようにすることに注意してください。

    <img src="image.php?id=<some_number>">
    

    これで、image.phpファイルが画像データをタグに吐き出します。



    1. SQL:優先度で並べ替えますが、最後に0を付けます

    2. Oracleの日付から先行ゼロを削除する方法

    3. 透過的なデータ暗号化と常に暗号化

    4. プレッシャーの下でデータベースのパフォーマンスを測定する