Was für gibt den getimagesize zurück, falls das Bild bmp ist?
1=>GIF
2=>JPG
3=>PNG
4=>SWF
BMPs dürfte es doch garnicht erkennen??
Die Variable scheint aber nicht leer zu sein, aber fals ich sie per echo ausgebe, ist sie trotzdem leer.
Hier der Hintergrund zur Frage:
Falls eine BMP-Datei im Ordner vorhanden ist, dann gibts die Funktion (), die natürlich nicht definiert ist. Da es ja kein jpg oder png ist...
1=>GIF
2=>JPG
3=>PNG
4=>SWF
BMPs dürfte es doch garnicht erkennen??
Die Variable scheint aber nicht leer zu sein, aber fals ich sie per echo ausgebe, ist sie trotzdem leer.
Hier der Hintergrund zur Frage:
Falls eine BMP-Datei im Ordner vorhanden ist, dann gibts die Funktion (), die natürlich nicht definiert ist. Da es ja kein jpg oder png ist...
PHP-Code:
$new_size = 500;
$dirname = "test";
$dir = opendir($dirname);
$error = 0;
$acp = 0;
//auslesen des Verzeichnisses
while($ofile = readdir($dir))
{
if($ofile != "." AND $ofile != "..")
{
$filepath = $dirname."/".$ofile;
$file = getimagesize($filepath);
$type = $file[2];
//Prüfung ob es sich um ein JPG, PNG oder GIF handelt
if(!empty($type))
{
$function = array("1"=>"gif","2"=>array("load"=>"imagecreatefromjpeg","save"=>"imagejpeg"),"3"=>array("load"=>"imagecreatefrompng","save"=>"imagePng"));
$height = $file[1];
$width = $file[0];
//Ist das Bild Quer- oder Hochgestellt?
if(!empty($type))
{
if($width >= $height)
{
$new_width = $new_size;
$new_height = $height/($width/$new_width);
}
else
{
$new_height = $new_size;
$new_width = $width/($height/$new_height);
}
$image = $function[$type]["load"]($filepath);
$new_image = imagecreatetruecolor($new_width, $new_height);
//erstellen des neuen Bildes
imagecopyresized($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width , $height);
//speichern
$function[$type]["save"]($new_image, $ofile);
echo "<font color='007320'>Die Datei <b>$ofile</b> wurde erfolgreich bearbeitet!</font></br>";
$acp++;
}
else
{
echo "<font color='ff0000'>Die Datei <b>$ofile</b> ist eine Gif-Datei. Es können leider nur JPEG-. und PNG-Dateien bearbeitet werden. Der Gif Suppport ist ab GD1.6 leider nicht mehr verfügbar.</font></br>";
$error++;
}
}
else
{
echo "<font color='ff0000'>Die Datei <b>$ofile</b> ist keine Bilddatei.</font></br>";
$error++;
}
}
}
echo "</br>";
if($error != 0)
{
echo "Es sind <b>$error Fehler</b> aufgetreten.</br>";
}
if($acp != 0)
{
echo "Es wurden <b>$acp Dateien</b> erfolgreich bearbeitet.</br>";
}
closedir($dir);
?>
Kommentar