4 berichten aan het bekijken - 1 tot 4 (van in totaal 4)
  • Q:
    Bijdrager
    Faan

    [php] thumbnail werkt niet indien extensie in hoofdletters

    Ik gebruik volgende functie om van een net geuploade jpg een thumbnail te maken:

    [code:1:0705b81dc1]
    function createthumb($name,$filename,$new_w,$new_h)
    {
    $system=explode(’.’,$name);
    if (preg_match(’/jpg|jpeg/’,$system[1]))
    {
    $src_img=imagecreatefromjpeg($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);
    imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
    imagejpeg($dst_img,$filename,100);
    imagedestroy($dst_img);
    imagedestroy($src_img);
    }
    [/code:1:0705b81dc1]

    wanneer er een foto wordt geupload gebruik ik dit:

    [code:1:0705b81dc1] createthumb($locatie."/".$_FILES[’afbeelding’][’name’],$locatie_thumbs."/tn_".$_FILES[’afbeelding’][’name’],190,190);
    [/code:1:0705b81dc1]

    Als ik een afbeelding als pic.jpg wil uploaden, geen enkel probleem. Maar noemt m’n afbeelding pic.JPG, dan krijg ik:

    Warning: imagesx(): supplied argument is not a valid Image resource

    Warning: imagesy(): supplied argument is not a valid Image resource

    Warning: imagecopyresampled(): supplied argument is not a valid Image resource

    Hoe krijg ik dit werkend voor .JPG? Of, hoe zorg ik dat de upload wordt geweigerd indien extensie in hoofdletters is?

    Bijdrager
    mac748

    $name = strtolower($name);
    of de hoofdletter ongevoelige versie van preg_match door een i achter het pattern te zetten
    [code:1:84cf10dcce]preg_match(’/jpg|jpeg/i’,$system[1])[/code:1:84cf10dcce]

    Bijdrager
    oegemeister

    [code:1:3fd97d64fc]
    $img_src = strtolower($img_src);
    [/code:1:3fd97d64fc]

    gr Sjoerd

    [EDIT] was weer es te laat [/EDIT]

    Bijdrager
    Faan

    Danke mannen, strtolower was eentje die ik nog niet kende.

4 berichten aan het bekijken - 1 tot 4 (van in totaal 4)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.