ImageMagick - oder: animierte gifs erstellen.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.
    Last edited by Algo; 07-06-2006, 07: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

    Comment


    • #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

      Comment


      • #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

        Comment


        • #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

          Comment


          • #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
            Last edited by Algo; 08-06-2006, 06:33.

            Comment


            • #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.

              Comment

              Working...
              X