Thumbnails ohne Exif

Robert Steichele

Erfahrenes Mitglied
Mein Provider hat leider die Exif-Extension für PHP nicht aktiviert. Gibt es auch eine Möglichkeit Thumbnails zu generieren, ohne diese Extension?
 
Hallo!

php.net hat gesagt.:
To enable exif-support configure PHP with --enable-exif

Windows users must enable both the php_mbstring.dll and php_exif.dll DLL's in php.ini.
Unter XAMPP (Windows) ist die php_exif.dll per default deaktiviert und ich kann trotzdem Bilder generieren.
Soweit ich es verstehe ist Exif auch nur dazu da, bestimmte Informationen aus dem Bild zu bekommen.
Prinzipiell werden diese Informationen aber nicht gebraucht..... man kann ja auch ein Bild generieren ohne ein Quellbild zu haben.

Eigentlich solltest Du Deine Thumbnails also mit den üblichen Grafik-Funktionen generieren können.

Gruss Dr Dau
 
Also ich mach das so:

PHP:
function checkRatio($file)
{
  $image = ImageCreateFromJpeg($file);
  $x = ImageSX($image);
  $y = ImageSY($image);   
  
  $verhaeltnis = ($x / $y);
  
  if ( $verhaeltnis == 4/3 )
  {
      return 4/3;
  }
  elseif ( $verhaeltnis == 3/4 )
  {
      return 3/4;    
  }
  else
  {
      die("Das Bild " . $file . " ist nicht im Verhältnis von 4/3 oder 3/4");
  }
  
}

function createThumb($file, $thumbheight, $ratio)
{
  if( !is_readable($file))
  {
      die("Die Datei " . $file . " konnte nicht gelesen werden. <br>");
  }
  
  $image = ImageCreateFromJpeg($file);
  $x = ImageSX($image);
  $y = ImageSY($image);
  
  if ($ratio == 3/4)
  {
      $newheight   = ($thumbheight / (3/4));
      $newwidth    = $thumbheight;
  }
  elseif ($ratio == 4/3)
  {
      $newwidth   = ($thumbheight * (4/3));
      $newheight  = $thumbheight;
  }
  
  $thumb = ImageCreateTrueColor($newwidth, $newheight);
  $source = ImageCreateFromJpeg($file);
  
  ImageCopyResampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $x, $y);
  ImageJpeg($thumb, "thumbs/thumb_$file", 100);
  
  $thumb_path     =   "thumbs/thumb_$file";
  return $thumb_path;
}
 
Zurück