Passando variabili da PHP a C ++

3

Devo chiamare un programma da PHP e passare alcuni vars e / o set di coppie chiave-valore ad esso. Come faccio a passare questi vars, attraverso argomenti alla funzione chiamata?

exec("/path/to/program flag1 flag2 [key1=A,key2=B]");

O c'è un metodo migliore per raggiungere questo obiettivo? Qualcuno mi ha suggerito di scriverli in un file txt e passare invece il percorso ad esso come argomento,

exec("/path/to/program path_to_txt_file);

ma non sono entusiasta di questo metodo.

    
posta Alex 10.10.2012 - 10:47
fonte

2 risposte

1

Ci sono diversi modi che vengono in mente: fare comunicazione tra processi, creare un'estensione / dll PHP in C ++ o usare direttamente la CLI.

Puoi fare in modo che i tuoi script PHP prendano i parametri della shell come suggerisci (vedi link ). Puoi evolverlo passando un singolo argomento sotto forma di stringa di query, prendendo $ argv [0] e impostandolo su $ _GET o $ _POST, o qualsiasi altra cosa tu preferisca. Provalo con qualcosa di simile:

<?php

parse_str($argv[0], $_POST);

Infine, per una soluzione più "corretta" (usando la comunicazione basata su socket), potresti dare un'occhiata a Risparmio . Vedi link

    
risposta data 10.10.2012 - 11:12
fonte
0

Puoi echo fuori le variabili in php e leggere i dati restituiti dalla richiesta HTTP. Dopo aver inviato la tua richiesta, puoi probabilmente utilizzare InternetQueryDataAvailable per ottenere il numero di byte che ritornano, allocare un buffer sufficientemente grande per contenere i dati e utilizzare InternetReadFile per ottenere i dati nel buffer.

    
risposta data 10.10.2012 - 12:19
fonte

Leggi altre domande sui tag