Daten von C nach PHP übertragen
-
Hallo,
ich hab da mal eine Fragen an die dich sich besser auskennen
Ich übertrage daten, die ich in eine string habe nach php. Dies mache ich wie folgt:
c (linux)
char command [100];
sprintf(command , "php import.php %s",my_vars);
system(command );php
$my_data = @ $argv[1];Diese kommen auch an, nur manche zeichen nicht. Dazu denke ich das es nicht die beste lösung ist. Hat jemand eine bessere einfache lösung für mich ? es darf aus bestimmten gründen nicht über socket laufen.
Vielleicht ist ja jemand schlauer und kann mir dies kurz beantworten.
besten dank
-
freaky4552 schrieb:
Diese kommen auch an, nur manche zeichen nicht.
Welche Zeichen sind das und wie Stellst du das fest?
Hast du ein Beispiel.
-
Das ; (semikolon) kommt nicht an, zudem wenn im string leerzeichen sind wird die zu mehreren args, was auch blöd ist.
-
Nun, das mit dem ; liegt an der shell. Das ; trennt Befehle.
Das mit den Leerzeichen ist auch klar, da das Ganze wie ein Kommandozeilenaufruf ist.Du kanns versuchen das %s in " einzuschließen:
sprintf(command , "php import.php \"%s\"",my_vars);
oder du nimmst eine exec-Funktion: http://linux.die.net/man/3/exec
Oder popen: http://linux.die.net/man/3/popen