2011-07-12 18 views
1

MySqlのいくつかの写真をブロブとして保存したいと思います。バイナリを取得してそこから画像を再作成して、ユーザに表示することができるようにしたいと考えています。ブロブから画像を作成する

私が検索したすべては、file_get_contents、Base64エンコーディングとGDライブラリの組み合わせを使用しています。しかし私が遭遇するすべての投稿は、私がやろうとしていることとは異なる要件を持っているので、コード例はそれほど役に立ちません。

実行する必要のある機能の呼び出しや操作の指示を誰かに伝えることができます。次のコードがあるとします:

$someBlob = getImageBlobByImageId(1203); 

このblobは「foo.jpg」という名前の画像を表しています。どのように私は$someBlobからfoo.jpgに行くので、私は

<img src="<?php echo $fooImage; ?>"/> 

のようなHTMLにそれを置くことができ任意のヒントや右方向にnudgesが大幅;-)

+1

「MySqlにいくつかの写真をブロブとして保存したい」 - それは常に悪い考えです。常に。 –

+0

私はそれが一般的には良い考えではないと思う。画像を実ファイルとして別々に保存し、データベース内の名前を追跡する方がよいでしょう。タイムスタンプ+ハッシュのような一意の固定幅のファイル名のいくつかの種類は、分かりやすい方法かもしれません。 –

+0

こんにちは@OZ_ - あなたはなぜ私を教育することができますか?画像を保存するには良い方法はありますか? – Courtney

答えて

3

あなたのHTMLは、PHPスクリプトを指すように必要が評価されていますブロブを取得し、要求に応じてイメージとして戻します。

たとえば、あなたのHTMLに:その後、

<img src="getImage.php?id=1203" /> 

そして、getImage.php用:

<?php 
    $id = $_REQUEST['id']; 
    header("Content-type: image/jpg"); 
    echo getImageBlobByImageId($id); 
    exit(); 
?> 

ヘッダ行と以外のコンテンツをスクリプトの出力を持ってしないように注意してくださいブロブのデータ、またはあなたが望むものを得ることはできません。

関連する問題