سؤال

لدي ملف php يقوم بتشغيل ملف exe الخاص بي.يتم تنفيذ ملف exe ويتم طباعة النص بتنسيق html وهو أمر جيد.حتى أكتب "someline "; يكسر الإخراج ولا أرى سوى السطر الأخير.كيف يمكنني طباعة/صدى النص/السلاسل التي تحتوي على أسطر متعددة؟

تم التعليق على اللصق الحالي وتم طباعة النص الخاص بي بشكل جيد.يبدو قبيحًا في وحدة التحكم وعندما أعرض المصدر باستخدام IE7 (على الرغم من أنني أتصفح بشكل أساسي باستخدام FF) يكون من المؤلم النظر إلى المصدر.هذا هو ملف php وcpp الحالي الخاص بي

<html>
<head>
</head>
<body>
<?php
echo( exec('c:/path/to/exe/launchMe.exe hey lol hi') );
?>
</body>
</html>

cpp

#include <string>
#include <iostream>
#include <sstream>
using namespace std;

const string htmlLine(string s)
{
    s+= "<br />";
//  s += "\n";
    return s;
}

int main(int argc, char *argv[])
{
    stringstream s;
    s << argc;
    cout << htmlLine("woot") << htmlLine(s.str());
    for (int i=0; i<argc; ++i)
    {
        s.str("");
        s << i << " = " << argv[i];
        cout << htmlLine(s.str());
    }
    return 0;
}
هل كانت مفيدة؟

المحلول

من http://php.net/exec:

إرجاع القيم

السطر الأخير من نتيجة الأمر.إذا كنت بحاجة إلى تنفيذ أمر وتمرير كافة البيانات من الأمر مباشرة مرة أخرى دون أي تدخل، فاستخدم الأمر تمر من خلال() وظيفة.

ال تنفيذي () تقوم الدالة بإرجاع السطر الأخير فقط من الإخراج، ولكن تمر من خلال() عائدات الجميع انتاج.

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