exec,truepass,oder ????

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

  • exec,truepass,oder ????

    Hallo Profis!

    Ich habe folgendes Problem an dem ich schon 2 Tage sitze.
    Ich möchte ein Programm aufrufen ihm eine Zeichenkette uebergeben.
    Das Programm liefert mir dann eine korrigierte Zeichenkette zurück.
    Also brauche ich auch eine Returnvar.
    Wie Wo was mach ich verkehrt.

    $eingabegabe ="Entenhau";
    der Rückgabewert sollte eigendlich "Entenhausen" sein

    passthru("/QSYS.LIB/STRADADEV.LIB/STX1ST.PGM".$eingabe,$results);
    oder
    exec(..........
    oder
    ????????

    als result bekomme ich int126 ????
    sollte aber der korregierte Strassenname sein!

    INFO:

    Maschine ist eine AS400
    PHP Version ist 4.3.1
    das Programm welches ich aufrufe ist ein Cobol-Modul (Strassenerkennung)

    vieleicht kann mir jemand helfen.

  • #2
    probier mal
    PHP-Code:
    echo system('befehl'); 
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      re

      Danke für die hilfe!


      leider gibt die Funktion system() keinen Returnvar zurück.
      Starten kann ich das programm damit.

      Kommentar


      • #4
        laut manual gibt sie nen string zurück, sorry

        und mit exec?
        PHP-Code:
        $a=exec('befehl'$b);
        echo 
        $a;
        print_r($b); 
        was passiert da?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          passthru:
          Ist der Parameter return_var angegeben, wird der Rückgabestatus des UNIX-Befehls hier abgelegt.

          exec:
          Ist der Parameter return_var angegeben, so wird der Rückgabestatus des ausgeführten Befehls in diese Variable geschrieben.

          Der Rückgabestatus ist nunmal ein Byte, das kommt in PHP als Integer an. i.A. 0 = kein Fehler; >0 Fehler (ein Blick in die man-page zum ausgeführten Befehl sollte Info drüber geben, zu welchem Fehler der Code gehört).


          Die Ausgabe des Kommandos bekommst du so

          letzte Zeile der Ausgabe:
          exec ($befehl, $ausgabe, $return);
          oder
          $ausgabe = system($befehl, $return);

          gesamte Ausgabe:
          ob_start();
          passthru($befehl, $return);
          $ausgabe = ob_get_contents();
          ob_end_clean();

          echo "Befehl: $befehl<br>
          Rückgabe: $return<br>
          Ausgabe: $ausgabe";
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar

          Lädt...
          X