Toon posts:

[PHP] GD-library werkt niet?

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb een fotoalbum gemaakt die na het uploaden van je foto's met behulp van GD-library tumbnails maakt en die wegschrijft naar een andere map. Dit heeft gewerkt alleen om een of andere duistere reden werkt het nu niet meer?
de error is:

Fatal error: Call to undefined function: imagecreatefromjpeg() in /home/virtual/site26/fst/var/www/html/cms/admin/foto/thumbnail.php on line 40

naar mijn idee is dit toch gewoon een functie van GD-library?

hier is mijn code:
code:
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?
// de var $img_directory moet je veranderen naar het VOLLEDIGE pad waar je afbeeldingen instaan!
// deze moet eindigen met een slash (/) !
$img_directory = "/home/virtual/site26/fst/var/www/html/cms/foto/";
// de var $suffix is de tekst die aan de naam van een afbeelding wordt toegevoegd
// (om aan te duiden dat het een thumbnail is)
$suffix = "_thumb";

// *********** vanaf hier begint het eigenlijke script: ***********

// de bestanden uit de map halen:
chdir($img_directory);
$huidige_dir = getcwd();
$odir = opendir($huidige_dir);
$dir_inhoud = array();
while (($bestand = readdir($odir))!==false) {
    $type = filetype($huidige_dir."/".$bestand);
    $dir_inhoud[$bestand] = $type;
}
closedir($odir);
natsort($dir_inhoud);

foreach($dir_inhoud as $key => $val) {
    if($val == "file") {
        // we moeten ALLEEN files hebben natuurlijk!
        $bestanden_lijst[] = $key;
    }
}

sort($bestanden_lijst);
reset($bestanden_lijst);
$i = 0;
// loop door de aanwezige bestanden:
while(list($key, $val) = each($bestanden_lijst)) {
    $extensie = substr($val, -4);

    // kijk de extensie na
    if (strcasecmp($extensie,".jpg") || strcasecmp($extensie,".gif") || strcasecmp($extensie,".png")) {
        if( $extensie == ".jpg" ) {
            $src_img = imagecreatefromjpeg($img_directory . $val);
            $status = 1;
        } elseif( $extensie == ".gif" ) {
            // GIF SUPPORT werkt niet met GD >1.6 !!!!
            // als je GIF ondersteuning hebt, verwijder dan de slashes (//) van de volgende twee regels ;)
            // $src_img = imagecreatefromgif($img_directory . $val);
            // $status = 1;
            $status = 0;
        } elseif( $extensie == ".png" ) {
            $src_img = imagecreatefrompng($img_directory . $var);
            $status = 1;
        } else {
            $status = 0;
        }

        // als status = 0 betekent het dat dit bestand geen png, gif of jpg bestand is!
        if($status == 1) {

            $imageinfo = getimagesize($img_directory . $val);

            // bereken de nieuwe hoogte en breedte
            if($imageinfo[0] == $imageinfo[1]) {
                $new_w = 150;
                $new_h = 150;
            }    elseif( $imageinfo[0] > $imageinfo[1] ) {
                $new_w = 150;
                $ratio = $imageinfo[0] / 150;
                $new_h = $imageinfo[1] / $ratio;
            } elseif( $imageinfo[0] < $imageinfo[1] ) {
                $new_h = 150;
                $ratio = $imageinfo[1] / 150;
                $new_w = $imageinfo[0] / $ratio;
            }

            // om de correcte kleuren te behouden moeten we imagecreatetruecolor gebruiken!
            $nieuwe_thumbnail = imagecreatetruecolor($new_w,$new_h);
            // het verkleinen van de tekening gebeurt met imagecopyresampled:
            imagecopyresampled($nieuwe_thumbnail, $src_img, 0, 0, 0, 0, $new_w, $new_h, imagesx($src_img), imagesy($src_img));

            if(ereg("(.*).(.*)",$val,$arrayke)) {
                // de nieuwe naam van de thumbnail:
                $thumb_naam = $arrayke[1] . 'g';
                $pathstring = $img_directory . 'thumb/' . $thumb_naam;
            }

            // sla de nieuwe tekening op
            imagejpeg($nieuwe_thumbnail, $pathstring, 75);
            copy("$img_directory$thumb_naam", $img_directory . 'big/' . $thumb_naam);
            unlink("$img_directory$thumb_naam");

            echo $val . " is omgezet naar " . $thumb_naam . " ...<br>";

        } else {
            echo $val . " heeft niet de correct extensie! Dit bestand wordt overgeslagen!<br>";
        }
    }
}
?>


iemand die mischien een idee heeft?

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 30-08 23:16
Al gekeken wat phpinfo(); weergeeft?

PHP:
1
phpinfo();

Verwijderd

kijk maar eens in de output van phpinfo(); Zeer waarschijnlijk is de GDlib daar niet meer in te vinden.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:27

gorgi_19

Kruimeltjes zijn weer op :9

Net gekeken op Google

en dat leverde oa op:
http://www.3dsrc.com/mona...hp?f=2&i=11&t=10#reply_11
http://forums.devshed.com/archive/t-24928

De oorzaken lagen hierin een configuratieprobleem. Min of meer geef je dit dan ook zelf aan; het heeft altijd gewerkt, nu opeens niet meer.

Omdat ik eerder verwacht dat dit een configuratieprobleem is en geen programmeerprobleem, gaat deze naar SA toe.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
ik heb even gekeken bij phpinfo maar hij staat er wel:

gd
rtenabled
GD Versionbundled (2.0.22 compatible)
GIF Read Supportenabled
PNG Supportenabled
WBMP Supportenabled
XBM Supportenabled


8)7

  • Ankh
  • Registratie: Mei 2001
  • Laatst online: 16:35

Ankh

.Howdy

kijk eens goed op je plaatje
je hebt geen jpeg enabled

Verwijderd

Topicstarter
het is me geen een keer opgevallen, 8)7

maare in ieder geval bedankt!
Pagina: 1