Jessica: Mein PHP Code Versuch

Beitrag lesen

Hallo Matthias,

1, 3, 6 und 8 sind die möglichen Werte. http://www.impulseadventure.com/photo/exif-orientation.html

mein Versuch

$bv		= "bilder";
$vb		= "vorschaubilder";

$verzeichnis	= opendir($bv);
$bilder		= array();

while (($datei = readdir($verzeichnis)) !== false) {
	if (preg_match("/\.JPE?G$/", $datei)) {
		$bilder[] = $datei;
	}
}
closedir($verzeichnis);

foreach ($bilder as $bild) {
	
	$image	= imagecreatefromjpeg("$bv/$bild");

	$exif = exif_read_data($bild);
	
	if(!empty($exif['Orientation'])) {
		
		switch($exif['Orientation']) {
			case 8:
				$image = imagerotate($image,90,0);
				break;
			case 3:
				$image = imagerotate($image,180,0);
				break;
			case 6:
				$image = imagerotate($image,-90,0);
				break;
		}
	}
	 
	// scale image
	$ratio = imagesx($image)/imagesy($image); // width/height
	if($ratio > 1) {
		$width = 230;
		$height = round(230/$ratio);
	} else {
		$width = round(130*$ratio);
		$height = 130;
	}
	$scaled = imagecreatetruecolor($width, $height);
	imagecopyresampled($scaled, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image));
	 
	imagejpeg($scaled, "$vb/$bild");
	
}

leider ohne Erfolg, es wird noch immer jedes Bild Quer gelegt. Siehst du / Ihr vielleicht den Fehler in meinem Code?