2009-08-18 13 views
2

私はMySQL BLOBフィールドにイメージを格納するデータベースを持っています。私は、URL内のIDに基づいて画像を選択して表示するスクリプトをセットアップしました。また、サイズを変更するには?resize = 800x600を追加すると、画像のサイズが変更されます(この場合は800x600になります)。GDはバイナリ文字列からイメージを取得しています

私が使っているホストにImagemagickがインストールされておらず、自分でやりとりできないので、PHPのGDライブラリを使ってイメージのサイズを変更する必要があります。
ImagickのreadImageBlob()のような関数はまだ見つかっていないので、データベースから取得したバイナリ文字列を最初に作成せずに編集したり、編集したり、バイナリ文字列を取得したり、送信したりすることはできませんブラウザを削除してから削除してください(これは数多くのステップですが、特に生産に入ると数千回のヒットが発生するため)。

私の質問は、PHPのGDでreadImageBlobを複製する方法はありますか?

答えて

5

トリックを行う必要があります。私はマニュアルの関数の例は、ほぼ正確に何が必要だと思う:

$im = imagecreatefromstring($data); 
if ($im !== false) { 
    header('Content-Type: image/png'); 
    imagepng($im); 
    imagedestroy($im); 
} 
else { 
    echo 'An error occurred.'; 
} 

$dataがデータベースからバイナリデータを文字列です。

関連する問題