2
MySQLデータベースにBLOBとして保存されたイメージのサイズを動的に変更するPHPページを作成しました。私は一時的なファイルを保存せずに、この場でこれをやっています。ヘッダーで送信するContent-Lengthを決定する方法はありますか?動的にサイズ変更されたイメージのコンテンツ長PHP
imageecopyresampled()でイメージを作成し、imagepng()などを使用してイメージデータを出力しました。代わりにあなたのimagepng
コールの
$origImage = imagecreatefromstring($image['data']);
$newImage = imagecreatetruecolor($width, $height);
// preserve alpha
imagealphablending($newImage, false);
imagesavealpha($newImage, true);
$resizeSuccess = imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $width, $height, $image['width'], $image['height']);
header('Content-Type: image/png');
imagepng($newImage, null, $pngCompression, PNG_NO_FILTER);
imagedestroy($newImage);
あなたの最後のコメントは、imagepng()コールによって自動的に計算されるためContent-Lengthを送信する必要はないということですか?私は、ブラウザがダウンロードの進行状況を知るようにContent-Lengthを持つことが良いことを読んできました。 – user722302
それはあなたのサーバがどのように設定されているかに依存しますが、本当に 'Content-Length'が送られているはずです。サーバーが見る限り、(Content-Typeヘッダーのおかげで)イメージを提供する必要があることがわかりますので、関連するヘッダーも送信します。 –
ありがとう。私は私のローカルMAMP環境では見ていないが、私は生産をチェックする。 – user722302