Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Übergabeparameter an php bei exec

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Übergabeparameter an php bei exec

    Hallo wie kann ich den Parameter $param an die php datei übergeben, welche ich im exec aufrufe?
    Und wie kann ich in der aufgerufenen php Datei dann diesen parameter wieder auffangen?

    PHP-Code:
    $param "filename.txt";
    exec('/doSendMessages.php'); 
    Geht das überhaupt?


  • #2
    Ob dein Aufruf mit exec() funktioniert weiß ich nicht! ->Probieren!


    Ansonsten:
    Also übergeben kannst du deinen Parameter mit
    Code:
    <?php
    $param = "filename.txt";
    $path = 'doSendMessages.php?file='.$param;
    exec($path);
    ?>
    Auslesen geht dann mit
    Code:
    <?php
    $file = $_GET['file'];
    //weitere Verarbeitung
    ?>
    Wobei dein Parameter im neuen Script auf $file liegt! ^^

    lg Flo
    "Je größer die Insel des Wissens, desto länger die Küste der Verzweiflung!"

    Kommentar


    • #3
      Hallo,

      das habe ich natürlich auch als erstes gedacht, aber das geht so nicht, weil ja die php datei eine ausführbare datei ist.
      funktionieren tun die pfade und die ausführung und der code, nur eben nicht mit übergabeparameter

      er schreibt dann als fehler, das er die datei
      doSendMessages.php?file=name.txt nicht findet.

      der pfad funktioniert (wurde der einfachheit halber hier entfehrnt), denn wen ich ohne parameter aufrufe, dann führt er die
      doSendMessages.php aus.

      Er sagt:

      sh: /doSendMessages.php?file=name.txt: No such file or directory

      /doSendMessages.php findet er ohne probleme.


      ich habe gelesen das man bei exec und system die parameter irgendwie kodieren muss, damit man seine scripte vor fremdattacken schützen kann.
      ausserdem habe ich gelesen das man bei exec die parameter in der art exec($mixed $param) übergibt.

      vielleicht funktioniert das ja so, aber ich bekomme an der anderen seite den parameter nicht zurück.

      Kommentar


      • #4
        Also ich habe jetzt herausgefunden wie das funktioniert.

        PHP-Code:
        #in $filename steht der Übergabeparameter
        $fn[0]=$filename;
               
        exec('/path/doSendMessages.php "'.$fn[0].'"',$err); 
        in path liegt die Datei doSendMessages.php
        dort empfängt man ein Array()
        welches man mittels
        PHP-Code:

        $paramPosOne 
        $argv[1]; 
        abfragen kann.

        Kommentar

        Lädt...
        X