Bildgröße ermitteln

Grunge

Erfahrenes Mitglied
Hi,

mal wieder hab ich eine Frage. Mit welcher Funktion kann ich die Bildgröße einer Datei ermitteln. Also per Datiupload Feld in einem Formular wird der Pfad übermittelt und das Programm soll die Größe ermitteln, und die weerte in die Variablen breite und höhe entsprechend speichern !?

Danke im Vorraus
 
Huhu, das ganze geht mit der Funktion getimagesize(); Der musst du die Bild-Datei mit dem relativen Pfad zum Script angeben, dann gibt die dir verschiedene Werte als Array aus:
PHP:
$image = getimagesize( 'bilder/pferd.jpg' );
// Ausgabe zur Ansicht
foreach( $image as $key => $value ) {
    echo '$image[ "' . $key . '" ] => ' . $value . '<br />';
}
Am besten guckst du dir nochmal die Funktionsreferenz auf http://de3.php.net/manual/de/function.getimagesize.php an :)
 
Hi, ich hab folgendes probiert:

PHP:
function getFileSizeW($filePath){
$blah = getimagesize($filePath);
$type = $blah['mime'];
$width = $blah[0];
return $width;}

function getFileSizeH($filePath){
$blah = getimagesize($filePath);
$type = $blah['mime'];
$height = $blah[1];
return $height;}

$h=getFileSizeH($srdFilePath);
$w=getFileSizeW($srdFilePath);
$h1=($h/$w)*$row2['pic_w'];
$w1=$row2['pic_w'];
echo "h=".$h1."  w=".$w;

soll halt dazu dienen, das die bildgröße einer entsprechenden breite angepasst wird, die in der datenbank fgestgelegt ist.
die ausgabe uist wie folgt: h= 0 und w=200 (steht zwar in der DB so, aber nach diesem code dürfte es doch gar nicht so sein, vor allem wiel das bild 100 pro keine 200px breit ist ! ! !)

Er sagt mir division durch null, klar h ist ja auch null ;) aber wieso. Der pfad kommt per "$_FILES['file']['tmp_name']".

Weiß jeand rat !? hie rnochmal die komplette fehlermeldung:

Warning: Division by zero in /home/www/web484/html/php/_functions.php on line 42
h=0 w=200
Warning: imagecreatetruecolor(): Invalid image dimensions in /home/www/web484/html/php/_functions.php on line 9

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/www/web484/html/php/_functions.php on line 10

Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/www/web484/html/php/_functions.php on line 47

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/www/web484/html/php/_functions.php on line 49

Warning: Division by zero in /home/www/web484/html/php/_functions.php on line 53
h=0 w=
Warning: imagecreatetruecolor(): Invalid image dimensions in /home/www/web484/html/php/_functions.php on line 9

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/www/web484/html/php/_functions.php on line 10

Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/www/web484/html/php/_functions.php on line 57

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/www/web484/html/php/_functions.php on line 59

wenn ich den ganzen mist rausnehme und bildgrößen manuel vorgebe funktioniert es ! ! !

//EDIT: Sorry falsch geguckt. ich hab ja zwei uploads. de rletze fehlt-sprich: er gibt für beider nichts aus ! ! !
 
Zuletzt bearbeitet:
wird sie ja ! ! ! wenn ich die codes weg nehme läd er sie ganz normal hoch, deswegen geh ich davon auch das er das auch hier tut . . .
 
Naja getimagesize() gibt doch schon ein komplettes Array zurück mit den Daten des Bildes.Darunter auch Höhe und Weite warum so umständlich über 2 Funktionen ?

Und die Fehlermeldungen würde ich darauf zurück führen das er diese Datei nicht dort findet wo Du angibst das sie ist.

Ich weiss nun nicht von wo aus Du das Script startest teste dies mal mit der Funktion getcwd() aus und wo das Bild dann gelagert ist, aber gib einmal den kompletten Pfad an und prüfe vorher noch mit is_file ob es sich überhaupt um eine gültige Datei handelt.
 
Hi,

warum nicht einfach so:

PHP:
function getSize($file)
{
        $groesse = array();
        $image = ImageCreateFromJpeg($file);
        $groesse["x"] = ImageSX($image);
        $groesse["y"] = ImageSY($image);

        return $groesse;
}
 
Zuletzt bearbeitet:
> warum nicht einfach so:

Nicht wirklich.
Durch den Einsatz von ImageCreateFromJpeg() wird Speicher belegt, wird dieser nicht freigegeben, könnte es weitere Ausführungen von Scripten beenden.
 
Hatte bis jetzt mit dieser Funktion keine weiteren Probleme
Benutz sie auch um Thumbnails zu erstellen und wurde noch nie enttäuscht
 
Zurück