Avatar billede supermand69 Nybegynder
17. november 2004 - 14:21 Der er 5 kommentarer og
1 løsning

gd-lib fejl

jeg har streamer nogle billeder som thumbs, men oplever at der er et billede den ikke kan generere??

http://clark.avansis.dk/test/test.php

her er min kode til billederne:
<?
if($_GET['pic_ext'] == 'jpg') header("content-type: image/jpeg");
else header("content-type: image/gif");

$pic = $_SERVER["DOCUMENT_ROOT"].str_replace(basename($_SERVER["PHP_SELF"]), '', $_SERVER["PHP_SELF"]).$_GET['id'].'.'.$_GET['pic_ext'];

$quality = 75;
$width = 112;
$height = 112;

if($_GET['pic_ext'] == 'jpg') $src_pic = imagecreatefromjpeg($pic);
else $src_pic = imagecreatefromgif($pic);
$src_width = imagesx($src_pic);
$src_height = imagesy($src_pic);

$scale = ($src_height / $height);
$dst_width = ($src_width / $scale);
$dst_height = ($src_height / $scale);

if($width < $dst_width)
{
    $scale = ($dst_width / $width);
    $dst_width = ($dst_width / $scale);
    $dst_height = ($dst_height / $scale);
}

$dst_pic = imagecreatetruecolor($dst_width, $dst_height);
imagecopyresampled($dst_pic, $src_pic, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);

imagejpeg($dst_pic, '', $quality);

imagedestroy($src_pic);
imagedestroy($dst_pic);
?>
Avatar billede erikjacobsen Ekspert
17. november 2004 - 15:40 #1
Hvis du kigger hvad den siger til dig, kan det måske hjælpe?

<b>Warning</b>:  imagecreatefromjpeg(): 's:/http/_www/avansis.dk/_clark/test/49.jpg' is not a valid JPEG fil
e in <b>s:\http\_www\avansis.dk\_clark\test\thumb.php</b> on line <b>11</b><br />
Avatar billede supermand69 Nybegynder
17. november 2004 - 15:42 #2
det forstår jeg ikke.. hvad er der galt med filen? den kan jo godt blive vist ovenover?
Avatar billede erikjacobsen Ekspert
17. november 2004 - 15:51 #3
Det betyder vel det, som det siger. Billedet har fejl. At en browser vælger
at ignorere fejlene og vise dig billedet, så godt den kan, er ingen garanti for
noget. Et andet program siger: Corrupt JPEG data: 117 extraneous bytes before marker 0xd9
om billedet. Prøv igen - har du husket "bin"-mode ved FTP?
Avatar billede supermand69 Nybegynder
17. november 2004 - 15:55 #4
det bliver uploadet via HTTP fra en form

hvad kan der være galt idet billedet blev uploadet?
Avatar billede supermand69 Nybegynder
19. november 2004 - 14:46 #5
nu har jeg fået et andet problem?

jeg har smidt siden op på en anden server og nu kan den ikke vise billedet i fuld størrelse men thumb virker som det skal? den laver bare en 404, men hvis jeg sletter alt i _full.php og skrver echo 'noget' er der ikke noget galt?

http://electrobeat.dk.linux12.wannafind.dk/tst/pic/user/_full.php?id=1&pic_ext=jpg
http://electrobeat.dk.linux12.wannafind.dk/tst/pic/user/_thumb.php?id=1&pic_ext=jpg

_full.php
------------
<?
if($_GET['pic_ext'] == 'jpg') header("content-type: image/jpeg");
else header("content-type: image/gif");

$pic = $_SERVER["DOCUMENT_ROOT"].str_replace(basename($_SERVER["PHP_SELF"]), '', $_SERVER["PHP_SELF"]).$_GET['id'].'.'.$_GET['pic_ext'];
$logo = $_SERVER["DOCUMENT_ROOT"].str_replace('user/'.basename($_SERVER["PHP_SELF"]), '', $_SERVER["PHP_SELF"]).'pic_logo.png';

$quality = 100;

if($_GET['pic_ext'] == 'jpg') $src_pic = imagecreatefromjpeg($pic);
else $src_pic = imagecreatefromgif($pic);
$src_width = imagesx($src_pic);
$src_height = imagesy($src_pic);

$src_logo = imagecreatefrompng($logo);
$src_logo_width = imagesx($src_logo);
$src_logo_height = imagesy($src_logo);

$dst_pic = imagecreatetruecolor($src_width, $src_height);
imagecopyresampled($dst_pic, $src_pic, 0, 0, 0, 0, $src_width, $src_height, $src_width, $src_height);

$logo_x = $src_width - $src_logo_width;
$logo_y = $src_height - $src_logo_height;
imagecopyresampled($dst_pic, $src_logo, $logo_x, $logo_y, 0, 0, $src_width, $src_height, $src_width, $src_height);

imagejpeg($dst_pic, '', $quality);

imagedestroy($src_pic);
imagedestroy($src_logo);
imagedestroy($dst_pic);
?>
Avatar billede supermand69 Nybegynder
23. november 2004 - 22:46 #6
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester