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

  • Multiplex
    hat ein Thema erstellt [Erledigt] Übergabeparameter an php bei exec.

    [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?

  • Multiplex
    antwortet
    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.

    Einen Kommentar schreiben:


  • Multiplex
    antwortet
    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.

    Einen Kommentar schreiben:


  • PHP4ever
    antwortet
    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

    Einen Kommentar schreiben:

Lädt...
X