Thumbnail script ondersteunt geen gif en png hoe los ik dit op?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

R

R

27/01/2007 03:48:00
Quote Anchor link
Hallo mensen,, ik ben in verschillende scripts gaan zoeken voor een thumbnail functie die ook gif en png thumbed maar tevergeefs het script is als volgt en het werkt perfect,, maar ik zou heel erg graag willen dat hij ook gif pakt... enig idee?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?
        if ($thumbnail == "") {
            // Thumb bestaat niet
            if (! eregi("\.jpg$|\.jpeg$", $foto[$i])) {
                // jpg
                echo "er is geen thumb<br>\n";
            }
else {
                // Voor jpg/jpeg formaat: thumbnail maken
                echo "Thumbnail wordt gemaakt<br>\n";

                // Als nog geen directory voor de thumbs bestaat, deze aanmaken...
                if (! is_dir ($thumbs)) {
                    mkdir("$thumbs");
                }


                // 20sec per thumb
                set_time_limit(20);

                // alleen jpg support....
                $photo = imagecreatefromjpeg ("$album/$foto[$i]");

                // afmetingen bepalen
                $photo_width         = imagesx ($photo);
                $photo_height        = imagesy ($photo);
                
                // minimaal een van de afmetingen is groter dan $max_thumb..?
                if ($photo_width > $max_thumb_width || $photo_height > $max_thumb_height) {

                    // langwerpiger dan thumb??
                    if ($photo_width / $photo_height > $max_thumb_width / $max_thumb_height) {

                        // Langwerpiger dan thumb, de breedte van de thumb is bepalend
                        $new_thumb_width = $max_thumb_width;

                        // Hoogte berekenen:
                        $value = $photo_width / $max_thumb_width;
                        $new_thumb_height = round ($photo_height / $value);

                    }
else { // niet langwerpiger...
                        // De hoogte van de thumb is bepalend...

                        $new_thumb_height = $max_thumb_height;

                        // Breedte berekenen
                        $value = $photo_height / $max_thumb_height;
                        $new_thumb_width= round ($photo_width / $value);
                    }

                }
else {

                    // Foto is al klein genoeg, afmetingen worden overgenomen
                    $new_thumb_width    = $photo_width;
                    $new_thumb_height    = $photo_height;
                }


                // plaatje aanmaken, met de juiste afmetingen...
                $create_thumb = imagecreatetruecolor ($new_thumb_width, $new_thumb_height);

                // Plaatje kopieren en "resamplen"
                imagecopyresampled (
                    $create_thumb,  
                    $photo,  
                    0, 0, 0, 0,
                    $new_thumb_width,  
                    $new_thumb_height,
                    $photo_width,
                    $photo_height);

                // Bestand wegschrijven
                ImageJpeg ($create_thumb, $thumbs."/".$entry_without_ext.".jpg", 90);

                // thumbnail bestaat nu toch...
                $thumbnail = $thumbs."/".$entry_without_ext.".jpg";

                // Geheugen opschonen
                Imagedestroy($photo);

            }

?>
 
PHP hulp

PHP hulp

15/11/2024 08:38:36
 
- Jim  -

- Jim -

27/01/2007 04:13:00
Quote Anchor link
Zoals je ziet is de focus van dit script gericht op jpeg.
Als je de vergelijkende functies voor je andere bestanden erbij zoekt, en switch aanmaak, dan kan je waarschijnlijk dit script zo gebruiken voor andere extensies.

Succes.
TIP: Houd de PHP-Manual bij de hand! Hier is HEELVEEL info uit te halen en ook voorbeelden!
 
Bart van der veen

bart van der veen

27/01/2007 09:12:00
Quote Anchor link
if (! eregi("\.jpg$|\.jpeg$", $foto[$i])) {

vervangen door

if (! eregi("\.jpg$|\.jpeg$|\.gif$|\.png$", $foto[$i])) {

en klaar is R?
 
R

R

27/01/2007 13:03:00
Quote Anchor link
nee zo werkt dat niet toch ?
 
Bo az

Bo az

27/01/2007 13:48:00
Quote Anchor link
Zo simpel is het helaas niet, want de functie ImageJpeg is alleen voor jpg bestanden.
 
Arjan Kapteijn

Arjan Kapteijn

27/01/2007 14:59:00
Quote Anchor link
switch ($type)
{
case 1:
//gif
$afbeelding_origineel = imagecreatefromgif($map.$bestandsnaam);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagegif($afbeelding, $map.$thumblocatie.$bestandsnaam);
break;
case 2:
//jpg
$afbeelding_origineel = imagecreatefromjpeg($map.$bestandsnaam);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagejpeg($afbeelding, $map.$thumblocatie.$bestandsnaam,80);
break;
case 3:
//png
$afbeelding_origineel = imagecreatefrompng($map.$bestandsnaam);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $breedte, $hoogte, $breedte_origineel, $hoogte_origineel);
imagepng($afbeelding, $map.$thumblocatie.$bestandsnaam);
break;
}

Daar een beetje mee stoeien. Ga het niet allemaal voorkauwen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.