سؤال

أحتاج إلى تمرير قيمة من PHP إلى C++.أعتقد أنني أستطيع أن أفعل مع PHP passthru() وظيفة.ثم أريد أن يفعل C++ شيئًا ما لهذه القيمة ويعيد النتيجة إلى PHP.هذا هو الجزء الذي لا أستطيع حله، هل يعرف أحد كيفية تمرير البيانات من C++ إلى PHP؟أفضل عدم استخدام ملف وسيط لأنني أعتقد أن هذا سيؤدي إلى إبطاء الأمور.

هل كانت مفيدة؟

المحلول

يمكنك جعل تطبيق c++ يرسل مخرجاته إلى stdout، ثم يستدعيها من PHP باستخدام backticks, ، على سبيل المثال.

$output=`myapp $myinputparams`;

نصائح أخرى

واو شكرًا جزيلاً لكولومبو وبول ديكسون.

يمكنني الآن تشغيل php للاتصال بـ c++ ثم تمرير القيمة مرة أخرى إلى php~ =)

أقدم هنا نموذجًا لـ cpp & php لذلك:

برنامج بسيط لإضافة المدخلات:

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;
}

عينة.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
?>

انتاج:

5
Output: 6

إذا كنت بحاجة إلى الاتصال ببرنامج C++ قيد التشغيل، أ قابس كهرباء قد يكون الاتصال عبر المضيف المحلي أبسط الحلول والأكثر استقلالًا من النظام الأساسي والأكثر دعمًا على نطاق واسع للتواصل بين العمليتين.تم تصميم المقابس تقليديًا للتواصل عبر واجهات الشبكة، لكنني رأيتها تستخدم في كثير من الحالات كوسيلة لعمل أنبوب.فهي منتشرة في كل مكان إلى حد ما ومدعومة بمعظم اللغات الحديثة.

وهنا أ دليل C لبرمجة المقبس. لبرنامج C++ الخاص بك.

هذه المقالة حول تغليف فئات C++ في ملحق PHP قد يساعد.

يحرر:جميع الحلول في الإجابات الأخرى أبسط بكثير، ولكنها أقل مرونة.كل ذلك يعتمد على ما تحتاجه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top