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


Anmelden zum Antworten