Avatar billede cleecer Nybegynder
28. november 2005 - 10:57 Der er 7 kommentarer

Hvorfor virker mit thumbnail script ikke på dandomains server

X Hej
jeg vil gerne lave thumbnail af de filer jeg uploader... Det lykkes til dels, men alle billeder bliver sorte

Jeg bruger nedenstpende GD version og script

Nogen der har en løsning?



gd Version:
GD Support  enabled 
GD Version  bundled (2.0.28 compatible) 
FreeType Support  enabled 
FreeType Linkage  with freetype 
FreeType Version  2.1.10 
T1Lib Support  enabled 
GIF Read Support  enabled 
GIF Create Support  enabled 
JPG Support  enabled 
PNG Support  enabled 
WBMP Support  enabled 
XPM Support  enabled 
XBM Support  enabled 



/*
    Function createthumb($name,$filename,$new_w,$new_h)
    creates a resized image
    variables:
    $name        Original filename
    $filename    Filename of the resized image
    $new_w        width of resized image
    $new_h        height of resized image
*/   
function createthumb($name,$filename,$new_w,$new_h)
{
    $system=explode(".",$name);
    if (preg_match("/jpg|jpeg/",$system[1])){$src_img=imagecreatefromjpeg($name);}
    if (preg_match("/png/",$system[1])){$src_img=imagecreatefrompng($name);}
    $old_x=imageSX($src_img);
    $old_y=imageSY($src_img);
    if ($old_x > $old_y)
    {
        $thumb_w=$new_w;
        $thumb_h=$old_y*($new_h/$old_x);
    }
    if ($old_x < $old_y)
    {
        $thumb_w=$old_x*($new_w/$old_y);
        $thumb_h=$new_h;
    }
    if ($old_x == $old_y)
    {
        $thumb_w=$new_w;
        $thumb_h=$new_h;
    }
    $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
    imagecopyresized($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
    if (preg_match("/png/",$system[1]))
    {
        imagepng($dst_img,$filename);
    } else {
        imagejpeg($dst_img,$filename);
    }
    imagedestroy($dst_img);
    imagedestroy($src_img);
}
Avatar billede jakobdo Ekspert
28. november 2005 - 18:00 #1
Hvorfor dine pics er sorte ved jeg ikke lige...
Men dette vil altså ikke virke korrekt:

$system=explode(".",$name);
og så siger du extension = $system[1];
Du bør bruge:
$extension=end(explode(".",$name));
if (preg_match("/jpg|jpeg/",$extension)){$src_img=imagecreatefromjpeg($name);}
if (preg_match("/png/",$extension)){$src_img=imagecreatefrompng($name);}

Et billede kunne jo rent faktisk hedde: mit.billede.jpg
Avatar billede cleecer Nybegynder
28. november 2005 - 18:05 #2
OK - JA det fandt jeg også ud af... Har fået det til at virke, men kun ved billedstørrelser op til 1240 x 980, så står gd-lippen af.

Er der nogen der ved hvordan man kan lave tumbnails på billeder op til 1600 x 1300...?

  - siden skal kunne håndtere wallpapers.
Avatar billede jakobdo Ekspert
28. november 2005 - 18:11 #3
Prøv at smid en <? phpinfo(); ?>
og se hvad memory_limit er sat til.
Den kan du så evt øge med:
ini_set("memory_limit","40M");
Hvor 40M = 40MB Hukommelse
Avatar billede cleecer Nybegynder
28. november 2005 - 22:56 #4
Men den har ikke noget at gøre med hvor tunge de er kun hvor store de er i pixel... har testet på det, hvis det er det du mener?
Avatar billede jakobdo Ekspert
29. november 2005 - 11:56 #5
Pixels har altså også noget med størrelsen at gøre.
3000*2000 fylder mere i imagecreatetruecolor end et billede på 30*20!
Avatar billede cleecer Nybegynder
29. november 2005 - 14:18 #6
ok så har jeg det på plads
Avatar billede cleecer Nybegynder
29. november 2005 - 14:21 #7
prøver lige at sende en mail til dandomain omkring det - takker
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