ImageMagick - oder: animierte gifs erstellen.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ImageMagick - oder: animierte gifs erstellen.

    Hallo,

    Für meine Gildenseite (Dark Age of Camelot) habe ich ein kleines PHP-script geschrieben, dass mir aus den XML-Daten von GOA (Betreiber von DAoC) kleine Visitenkarten für Foren-Signaturen erstellt.

    Das sind jpgs die Namen, Klasse, zugehöreige Gilde usw anzeigt.
    Beispiel: http://mikesturm.nsi24.miniserver.de...gmell/Algo.jpg

    Nun schränken viele Foren die Signatur auf ein mögliches Bild ein und wenn man mehrere Chars hat ist es auch etwas unübersichtlich. Die Idee war nun aus mehren jpgs verschidener Charaktere ein anmiertes Gif zu erstellen, dass alle 3-4 Sekunden den Char durchwechselt.

    Da die GD-lib keine animierten gifs erstellen kann (zumindest nicht in der Version die mein webspace-provider installiert hat) benötige ich wohl imagemagick (bzw. desssen convert-tool).

    Die Frage ist nun. Wie finde ich herraus, ob ImageMagick bzw. convert installiert ist.

    Ich habe versucht mit exec(); einfach mal convert zu starten und die Rückgabe zu beobachten, aber egal welchen befehl ich ausführe (hab ls, cp und auch schwachsinn wie blabla ausprobiert ich bekomme nur Errorcode 127 zurück:

    Testscript:
    PHP-Code:
    <?php
     
         $cmd 
    "ls"// Befehl

      
    $exec_output = array(); // Ausgabezeilen in ein Array...

      
    $exec_cmd exec($cmd$exec_output$exec_status); // ausfuehren

      
    if ($exec_status != 0) { 
    // Da gab es wohl ein Problem, schaun wir mal rein...
        
    print "CMD: $cmd<br><br>\n";
        print 
    "<pre>\n";
        while (list(
    $number$entry) = each($exec_output)) {
          print 
    trim($entry) . "\n";
        }
        print 
    "</pre>\n";
        print 
    "<br>\nStatus: $exec_status<br>\n";
      }

    ?>
    Ausgabe:
    Code:
    CMD: ls
    
    
    Status: 127
    Kann mir wer weiterhelfen? Nach Tagelangem googeln und foren durchsuchen bin ichs langsam Leid nirgendwo eine zufriedenstellende Antwort.

    CU Algo

    PS: EDIT: PHP Version 4.3.11 läuft auf dem webspace.
    Zuletzt geändert von Algo; 07.06.2006, 08:49.

  • #2
    Keiner ne Idee ? Mein webspace-Anbieter antwortet auch seit Tagen nicht grumml. Schade so wirds wohl nur ne schöne Idee blieben .

    CU Algo

    Kommentar


    • #3
      <<Die Frage ist nun. Wie finde ich herraus, ob ImageMagick bzw. convert installiert ist. >>
      http://de2.php.net/manual/de/functio...extensions.php
      Slava
      bituniverse.com

      Kommentar


      • #4
        Ok das bekomme ich zurück:
        Code:
        Array ( [0] => yp [1] => xml [2] => wddx [3] => tokenizer [4]
         => sysvshm [5] => sysvsem [6] => standard [7] => sockets [8] => 
        shmop [9] => session [10] => pspell [11] => posix [12] => pcre 
        [13] => overload [14] => iconv [15] => gmp [16] => gettext [17] =>
         gd [18] => ftp [19] => exif [20] => dio [21] => dbx [22] => dba 
        [23] => curl [24] => ctype [25] => calendar [26] => bz2 [27] => 
        bcmath [28] => zlib [29] => openssl [30] => apache2handler [31] 
        => imap [32] => ldap [33] => mbstring [34] => mysql [35] => odbc 
        [36] => pgsql )

        Hmm ... nunja über phpinfo() bekommt man ja auch eigentlich alles nötige angezeigt. Das Problem ist wohl eher, dass ImageMagick (soweit ich weiss) keine php-extension ist, sondern ein extrernes Programm (deshalb auch der aufruf über exec ).

        Da es allerdings open source ist, scheint es wohl bei manchen Webspace-Anbietern installiert zu sein.

        Kann es sein, dass es daran liegt, dass der safe_mode noch aktiv ist auf meinem webspace? Das könnte man vielleicht ändern zumindest wirbt mein webspaceanbieter damit, dass dies auch deaktivert werden kann falls gewünscht.

        Auf alle Fälle danke für deinen Vorschlag.

        CU Algo

        Kommentar


        • #5
          probier das mal:
          PHP-Code:
          <pre>
          <?php
          $out 
          exec('convert --help'$ret);

          // oder:
          //$out = exec('/usr/local/bin/convert --help', $ret);

          print_r($ret);
          ?>
          ausgabe?
          Kissolino.com

          Kommentar


          • #6
            Bei beiden Versionen das selbe Ergebnis:

            Code:
            Array
            (
            )
            Es kommt gar nix zurück .
            Hatte es auch schon mit /usr/bin/<programm> versucht immer das selbe Ergebnis. Auch wenn ich statt convert z.B. ls nehme (habs auch mit dir versucht ... ja ich war verzweifelt ).

            EDIT: Es ist auf alle Fälle ein Linux-Server. Apache meldet eine Fedora-Version.

            CU Algo
            Zuletzt geändert von Algo; 08.06.2006, 07:33.

            Kommentar


            • #7
              *refresh*

              Der Errorcode 127 ist nichts anderes als "command not found", also wird imagemagick wohl nicht installiert sein.

              Oder du hast keinen Zugriff auf die Befehle.

              Kommentar

              Lädt...
              X