Koontz: GD Library in PHP 4.2.3 einbinden

Hi,

ich möchte in meinem PHP-Projekt die GD-Library benutzen. Ich benutze die PHP-Version 4.2.3.
Wie genau kann man nun die GD-Library in PHP einbinden, damit man sie dort nutzen kann?

Gruss,
Koontz

  1. Moin!

    ich möchte in meinem PHP-Projekt die GD-Library benutzen. Ich benutze die PHP-Version 4.2.3.
    Wie genau kann man nun die GD-Library in PHP einbinden, damit man sie dort nutzen kann?

    Es mag sein, dass ich falsch liege, aber wenn die gdlib nicht bereits eingebunden ist (und du folglich das geschilderte Problem nicht hättest), dann muß man sie beim Kompilieren mit einbinden. Die Optionen auf Seiten von PHP sind da relativ simpel und stehen z.B. in der (zugegeben sehr langen) Optionsliste, die 'make --help' ausgibt.

    Ich erinnere mich nur an meine Versuche. Die übliche Vorgehensweise ist leider bei der gdlib nicht trivial, weil die von boutell.com erhältlichen Sourcen nur eine statische gdlib kompilieren. Irgendwoher gab es dann noch einen Patch, der eine dynamisch einbindbare gdlib ermöglichte - und nur damit hatte ich in Verbindung mit PHP 4.2.3 Erfolg.

    Mach es dir einfacher. Da du ohnehin PHP kompilieren mußt, lade dir PHP 4.3.1 herunter - da ist die gdlib 2.x schon mit bei, funktioniert ohne Probleme und bietet (als Bonus) sogar die Möglichkeit, True-Color-Bilder zu erstellen.

    - Sven Rautenberg

    --
    "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
    1. Hi Sven,

      ich hab jetzt die PHP Version 4.3.1 installiert. Nun möchte ich folgenden Code ausführen:

      <?php

      $image = "c:/topf.jpg";

      $size = GetImageSize($image);
      $width = $size[0];
      $height = $size[1];
      $type = $size[2];
      $scale = $scale/100;
      $newwidth = 100; //round($width*$scale); die absolute neue breite
      $newheight = $height/($width/$newwidth); //round($height*$scale);

      $src = imagecreatefromjpeg("$image");
      $im = imagecreate($newwidth,$newheight);
      imagecopyresized($im,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
      imagejpeg($im,"c:/thumbs/$dname",80);
      imagedestroy($im);

      ?>

      Bei dem "imagecreatefromjpeg"-Befehl kommt jedoch folgende Fehlermeldung:

      "Fatal error: Call to undefined function: imagecreatefromjpeg() in c:\saayaa\bildup.php on line 29"

      Da er die Funktion nicht kennt, scheint die GD-Library nicht richtig zu funktionieren. Hast Du eine Ahnung, woran das liegen kann?

      Gruss,
      Koontz

      1. Hallo,

        "Fatal error: Call to undefined function: imagecreatefromjpeg() in c:\saayaa\bildup.php on line 29"

        Da er die Funktion nicht kennt, scheint die GD-Library nicht richtig zu funktionieren. Hast Du eine Ahnung, woran das liegen kann?

        Ach, unter Windows soll das ganze laufen. Sag das doch gleich.

        Du mußt lediglich in der php.ini den Strichpunkt vor folgender Zeile entfernen:

        ;extension=php_gd.dll

        'extension_dir' muß auch aufs richtige Verzeichnis verweisen.

        extension_dir = Pfad_zum_PHP_Verzeichnis\extensions

        Gruß, Jan

        1. Hi,

          besten Dank! Jetzt funktioniert es.

          Gruss,
          Koontz