Akerbak Skrevet 13. desember 2007 Del Skrevet 13. desember 2007 (endret) Heisann! Jeg bruker imagecreatefromjpeg for å hente bredde og høyde på noen bilder som ligger i en arbeidsportefølje på en webside jeg jobber med. Men; noen av bildene som lastes opp klarer ikke funksjonen å hente bredde og høyde fra. Dette gjelder spesielt bilder som er lastet opp fra andre maskiner enn min egen. Bildene er av samme format, redigert i samme program, men allikevel oppstår feien, og imagecreatefromjpeg klarer ikke hente noen bredde eller høyde. Noen som har noen ideer til hva som kan være problemet her? Legge ved koden under som viser bruken av funksjonen, dersom dette kan være til noen hjelp. Håper det finnes noen hoder der som ser noe jeg ikke ser! -Djus //PRINTED IMAGE: $picture_url = "http://www.domene.com/dev/bildbas/".$folder."/".$picture; // find out size of image $img = ImageCreateFromJPEG("".$picture_url.""); if ($img) $imgX = imagesx($img); //Width if ($img) $imgY = imagesy($img); //Height //if both sizes equals max-size, print as-is if($imgX == 640 && $imgY == 480) { $size_controller = "width='".$imgX."' height='".$imgY."'"; } //if any sizes equals max-size, calculate from paired size if($imgX == 640 && $imgY <= 480) { $size_controller = "width='640'"; } if($imgX == 640 && $imgY > 480) { $size_controller = "height='480'"; } if($imgY == 480 && $imgX <= 640) { $size_controller = "height='480'"; } if($imgY == 480 && $imgX > 640) { $size_controller = "width='640'"; } //if both sizes is smaller than max-sizes, print picture as-is: if($imgX < 640 && $imgY < 480) { $size_controller = "width='".$imgX."' height='".$imgY."'"; } //if width is smaller than max size, but height is larger than max size, control by height if($imgX < 640 && $imgY > 480) { $size_controller = "height='480'"; } //if width is larger than max size, but height is smaller than max size, control by width if($imgX > 640 && $imgY < 480) { $size_controller = "width='680'"; } //if both sizes excess the max-sizes, calculte which size is dominant, use dominant side to determine manipulation on size if($imgY > 480 && $imgX > 640) { $division = $imgX / $imgY; $division = number_format($division, 2); if($division == 1.33) { $size_controller = "width='640' height='480'"; } else { if($division > 1) { $size_controller = "width='640'"; } else { $size_controller = "height='480'"; } } } Endret 13. desember 2007 av djus Lenke til kommentar
Runar0 Skrevet 13. desember 2007 Del Skrevet 13. desember 2007 Vist du bare trenger høgde og bredde så kan det vere likegreit å bruke getimagesize, da slipper du å opne opp fila med gd først Lenke til kommentar
Akerbak Skrevet 16. desember 2007 Forfatter Del Skrevet 16. desember 2007 Vist du bare trenger høgde og bredde så kan det vere likegreit å bruke getimagesize, da slipper du å opne opp fila med gd først Takk for svar Godt poeng, men jeg har prøvd denne løsningen også! (Burde jeg nevnt i forrige innlegg ) Problemet ligger i at ingen av funksjonene klarer å hente ut bredde og høyde fra noen bilder. Dette virker helt uavhengig av maskin de lastes opp fra, browser som brukes og program de redigeres i... Noen flere? Lenke til kommentar
luxus Skrevet 16. desember 2007 Del Skrevet 16. desember 2007 Hvor store (både i megabyte og piksler) er de bildene som ikke fungerer, kontra de som fungerer? Får du ut noen feilmeldinger? (.. alle feilmeldinger er vel på? (settes på med error_reporting(E_ALL);)). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå