تمرير البيانات من C++ إلى PHP
سؤال
أحتاج إلى تمرير قيمة من 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 قد يساعد.
يحرر:جميع الحلول في الإجابات الأخرى أبسط بكثير، ولكنها أقل مرونة.كل ذلك يعتمد على ما تحتاجه.