0

画像をURLからjpgに変換し、必要に応じてサイズを変更して出力しようとしています。

問題は、結果の画像が読めないことです。

 require('SimpleImage.php');

function BildInBLOB($linkadresse)
{
    $maxsize = 65536;   

   ob_start();
   header('Content-Type: image/jpeg');
   $image = new SimpleImage();     
   $image->load($linkadresse);  
  $width = 150;
  $height = 150;
  if ($image->getWidth() > $image->getHeight())
  {    
    $ratio = 150 / $image->getWidth();
    $height = $image->getheight() * $ratio;
  }
  else
  {
    $ratio = 150 / $image->getHeight();
    $width = $image->getWidth() * $ratio;
  }      
  $image->resize($width,$height);  

   $image->output();

   $data = ob_get_contents();
   ob_end_clean();

  $serialized_data = serialize($data);

  $size = strlen($serialized_data);

    if ($size < $maxsize) {
        $imgData  = mysql_escape_string($data);
        return $imgData;        
    }
  else
  {
    return false;
  }
}
header('Content-Type: image/jpeg');
echo BildInBLOB('http://www.example.com/image.png');
die;

外すと

header('Content-Type: image/jpeg');

通常の jpeg コードのように見えますが、そのままにしておくとファイルを開くことができません。

何故ですか?

4

1 に答える 1