Question

Je dois passer une valeur de PHP en C ++. Je pense que je peux faire avec la fonction de passthru() de PHP. Ensuite, je veux C ++ pour faire quelque chose à cette valeur et retourner le résultat à PHP. Ceci est le bit que je ne peux pas travailler, personne ne sait comment transmettre les données de C ++ pour PHP? Je préfère ne pas utiliser un fichier intermédiaire que je pense cela va ralentir les choses.

Était-ce utile?

La solution

Vous pouvez avoir votre c ++ app envoyer sa sortie à stdout, puis l'appeler de PHP avec contre-apostrophes, par exemple

$output=`myapp $myinputparams`;

Autres conseils

wow merci beaucoup à Columbo et Paul Dixon.

Maintenant, je peux courir php appeler c ++ THN pass back valeur php ~ =)

Ici, je fournir un échantillon cpp & php pour cela:

  

Un programme simple pour ajouter des entrées:

a.cpp (a.exe):

#include<iostream>
#include<cstdlib>
using namespace std;

int main(int argc, char* argv[]) {
  int val[2];
  for(int i = 1; i < argc; i++) { // retrieve the value from php
      val[i-1] = atoi(argv[i]);
  }
  int total = val[0] + val[1]; // sum up
  cout << total;  // std::cout will output to php
  return 0;
}

sample.php:

<?php
    $a = 2;
    $b = 3;
    $c_output=`a.exe $a $b`; // pass in the two value to the c++ prog
    echo "<pre>$c_output</pre>"; //received the sum
    echo "Output: " . ($output + 1); //modify the value in php and output
?>

Sortie:

5
Output: 6

Si vous avez besoin de communiquer à un programme C ++ en cours d'exécution, une connexion socket sur l'hôte local peut être la plus simple, la plus plate-forme indépendante et solution la plus largement pris en charge pour la communication entre les deux processus. Prises étaient traditionnellement construits pour communiquer sur les interfaces réseau, mais je les ai vu utilisé dans de nombreux cas comme méthode de faire une pipe. Ils sont assez omniprésents et soutenus dans la plupart des langues modernes.

Voici un guide C pour la programmation socket. pour votre programme C ++.

Cet article d'emballage classes C ++ dans une extension de PHP peut aider.

EDIT: toutes les solutions dans d'autres réponses sont beaucoup plus simples, mais moins souple. Tout dépend de ce que vous avez besoin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top