ホームページ > バックエンド開発 > PHPチュートリアル > Linux で C/C++ コードが PHP コードを呼び出す

Linux で C/C++ コードが PHP コードを呼び出す

WBOY
リリース: 2016-06-23 13:44:04
オリジナル
1150 人が閲覧しました

Linux 上の C/C++ コードは、popen システム関数を通じて PHP コードを呼び出し、fgets 関数を通じて PHP コード エコーによって出力された文字列を取得できます。

//main.c	char str[1024] = {0};	char * cmd = "php /src/test/c.php 1234";	FILE * stream = NULL;	if ((stream = popen(cmd, "r")) == NULL){//通过popen执行PHP代码		return "";	}	std::string ret = "";	while((fgets(str, 1024, stream)) != NULL){//通过fgets获取PHP中echo输出的字符串		ret += str;	}	pclose(stream);	return ret;
ログイン後にコピー

ここで、cmdの「1234」はphpファイルに渡されるパラメータです。 PHP コードでは、通常の C 言語の main 関数と同様に、2 つのパラメーター argc と argv を介してこのパラメーター「1234」を取得できます。

// /src/test/c.php<?phpinclude_once(dirname(__FILE__).'/m.php');include_once(dirname(__FILE__).'/m/SpsTable.php');if ($argc != 2){ //和C/C++的main函数一样,参数有2个,第一个是php文件名,第二个是main.c中cmd字符串中的“1234”	die();}array_shift($argv);//移除第一个参数,第一个参数是php文件名$spsFileId = (int)$argv[0];
ログイン後にコピー
PHP コードで注意する必要があるのは、呼び出された PHP ファイルに追加の PHP ファイルが含まれている場合、dirname (__FILE__) またはその他のメソッドを通じて PHP ファイルの絶対パスを使用するのが最善です。そうでない場合は、簡単にPHP ファイルのエラーが見つかりません。




ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート