Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从PHP脚本运行c应用程序_C#_Php_Phalanger - Fatal编程技术网

C# 从PHP脚本运行c应用程序

C# 从PHP脚本运行c应用程序,c#,php,phalanger,C#,Php,Phalanger,我想从php脚本中获取两个变量,并将它们插入到C程序中。我在网上搜索并找到了一个对Phalanger的引用,它似乎是一个使用.Net开发php的工具。从我的php脚本中只需要两个变量,这似乎太过分了。是否有其他方法打开c应用程序并从php脚本传递两个变量?另外,你能给我介绍一个教程或者发布一个代码示例吗。我在互联网上搜索过,但我发现的只是对Phalanger的引用和将c代码转换成php的工具。我想你有一个可执行文件,它具有正常的程序。Main-Entry-Point 如果是这样,只需从php调用

我想从php脚本中获取两个变量,并将它们插入到C程序中。我在网上搜索并找到了一个对Phalanger的引用,它似乎是一个使用.Net开发php的工具。从我的php脚本中只需要两个变量,这似乎太过分了。是否有其他方法打开c应用程序并从php脚本传递两个变量?另外,你能给我介绍一个教程或者发布一个代码示例吗。我在互联网上搜索过,但我发现的只是对Phalanger的引用和将c代码转换成php的工具。

我想你有一个可执行文件,它具有正常的程序。Main-Entry-Point

如果是这样,只需从php调用exec:

$execCommand = printf("app.exe %s %s", $param1, $param2);
exec($execCommand);
[从您的评论问题中添加部分] 要在应用程序中的任何位置使用这些值,可以将它们存储在静态类中:

public static class PhpValueStore {
    public static string Param1 {get; set;}
    public static string Param2 {get; set;}
}
PhpValueStore.Param1 = args[0];
PhpValueStore.Param2 = args[1];
现在转到Main方法,默认情况下,该方法的参数为字符串[]args。 在这个方法中,您可以捕获在exec调用中粘贴的参数。将值存储在静态类中:

public static class PhpValueStore {
    public static string Param1 {get; set;}
    public static string Param2 {get; set;}
}
PhpValueStore.Param1 = args[0];
PhpValueStore.Param2 = args[1];

干杯

如果你的C是一个web应用程序,那么只要做一个表单post,如果它是一个独立的可执行文件,那么你可以始终使用exec运行文件并传入参数。因此,我可以使用$u post作为变量,我如何将它们连接到C应用程序。在线示例似乎都在php和html之间?您可以将php变量注入用户提交的html表单中,然后表单发布到运行在c web地址等上的c应用程序。或者您可以使用php中的curl将post变量发送到应用程序。当然,这只适用于基于c web的应用程序如果是wpf/winforms样式的应用程序/exe,那么您需要使用exec命令执行下面发布的操作。注意:只有当php与c appI使用c windows应用程序运行在同一服务器上时,这才有效,因为没有字符串[]args。我应该改用对象发送器吗?我以前从未使用过c windows应用程序。不,如果你有一个对象发送器,那么你很可能在事件处理程序中。您应该有一个名为Programm.cs的类和文件,该类和文件将有一个名为Main的带有args参数的方法。我将更新我的答案,向您展示在.net程序中任何地方使用这两个值的最简单方法。