Mailinglisten-Archive |
Aloha, Am 28.09.05 schrieb thomas.hausheer at bluewin.ch > das heisst es kommt ein Befehl wie zB. diesen zustande: > > saferpay -exec -p /etc/saferpay -m Authorization -a AMOUNT 500 -a > CURRENCY EUR -a TRACK2 ;5976026000=0006644332 -a ACCOUNTID 99867-9491315 wenn du den Befehl in $command stehen hast und genaus so an das popen() übergibst... > $fp = popen($command, "r"); > Leider kommt nix zurück. Das Anfragescript muss aber insofern stimmen > als das es mit einem anderen Saferpay-Command einwandfrei funktioniert. > Komischerweise habe ich bemerkt, dass sobald ich das ; vor der > Bankleitzahl weglasse, der Command ausgeführt wird (krieg Fehlermeldung > zurück). .... hast du den Fehler schon gefunden. Auf der Shell werden Befehle mit einem Strichpunkt hintereinander getrennt. Auch hier müssen Sonderzeichen gequotet werden. Aus php.net/popen --> user contributed notes: >From the popen linux programmers manual: The command argument is a pointer to a null-terminated string containing a shell command line. This command is passed to /bin/sh using the -c flag. Das heißt also, du musst den http://de3.php.net/escapeshellarg Befehl verwenden.... oder einfach die einzelnen Parameter in einfache Hochkommas schreiben: $command = "saferpay -exec -p '/etc/saferpay' -m 'Authorization' -a 'AMOUNT 500 -a 'CURRENCY EUR' -a 'TRACK2 ;5976026000=0006644332' -a 'ACCOUNTID 99867-9491315'; So sollte es auch tun. Grüße, Mathias > > Nun meine Frage. Hat evtl. schon jemand dieses LSV Teil eingebaut? Muss > ich den String irgendwie vorher noch unkonvertieren? > > Vielen Dank für Infos & Hilfe. > > Gruss > Thomas > > -- > ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** > Informationen: http://www.phpbar.de > http://lists.phpbar.de/mailman/listinfo/php > -- Kein Speicherplatz mehr, um Lotus Notes zu benutzen :-/
php::bar PHP Wiki - Listenarchive