ホームページ  >  記事  >  バックエンド開発  >  PHP でコンソール EXE プログラムを呼び出す手順

PHP でコンソール EXE プログラムを呼び出す手順

WBOY
WBOYオリジナル
2016-06-13 12:35:041416ブラウズ

PHP でコンソール EXE プログラムを呼び出す方法

1. 使用できる関数は次のとおりです: exec、system、passthru、popen、および anti-single quote の違いは次のとおりです。

system() は、シェル結果の最後の行を出力して返します。

exec() は結果を出力せず、シェル結果の最後の行を返します。すべての結果は返された配列に保存できます。

passthru()はコマンドを呼び出すだけで、コマンドの実行結果をそのまま標準出力装置に直接出力します。

上記3つの関数は、いずれもコマンド実行の戻り値を取得できる点は同じです。

popen() はパイプ モードで開かれ、読み取りまたは書き込みのみが可能であり、同時に読み取りと書き込みを行うことはできず、実行の戻り値を取得することはできません。

バックシングルクオートは結果を出力せず、すべての結果を保存できますが、実行の戻り値を取得できません。

2. EXE プログラムでの入力状況の処理方法 (メインパラメーターを除く、コマンドラインに配置できるため、ここで処理する必要があるのは、入力が必要な cin、scanf およびその他のパラメーターです)実行時):

C++ プログラムは次のとおりです: test.cpp

#include

名前空間 std を使用します;

int main()

{

int a, b;

シン >>> b;

cout }

次に、PHP でエコー パイプを使用するだけです:

system("echo 1 2 | test.exe");

ただし、C++プログラム内で行単位で文字列入力がある場合、例えば

#include

#include

名前空間 std を使用します;

int main()

{

文字列 str;

while(getline(cin, str))

{

cout < }

}

Linux プラットフォームを使用している場合、複数行を入力する必要がある場合は、echo -e パイプを使用して問題を解決できます。

system("echo -e ‘str1nstr2’ | test.exe");

Windows プラットフォームで echo に -e パラメータがない場合は、次のように echo を一度に 2 回または複数回実行する必要があります。

system("( echo str1 & echo str2 ) | test.exe");

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。