C# 在C中模拟PHP页面以获得响应#

C# 在C中模拟PHP页面以获得响应#,c#,php,emulation,C#,Php,Emulation,我浏览了互联网,但还没有找到我的答案。。。由于我的想法越来越少,我希望能在这个问题上得到一些帮助。 这就是: 我有一些PHP代码,它获取文件的路径并返回我需要的一组信息。 我有源代码(它是开源的),我知道我的C。 我的问题是,我希望能够从C#应用程序中离线使用这段PHP代码,模拟PHP代码 有什么想法吗 谢谢。听起来像是想 将PHP代码翻译成C# 从.NET调用PHP代码 我不认为模仿是你想要的,确切地说 如果您可以链接到PHP代码(如果是OSS,是否有提供更多信息的站点?)或将其粘贴到此处,

我浏览了互联网,但还没有找到我的答案。。。由于我的想法越来越少,我希望能在这个问题上得到一些帮助。 这就是: 我有一些PHP代码,它获取文件的路径并返回我需要的一组信息。 我有源代码(它是开源的),我知道我的C。 我的问题是,我希望能够从C#应用程序中离线使用这段PHP代码,模拟PHP代码

有什么想法吗


谢谢。

听起来像是想

  • 将PHP代码翻译成C#
  • 从.NET调用PHP代码
  • 我不认为模仿是你想要的,确切地说


    如果您可以链接到PHP代码(如果是OSS,是否有提供更多信息的站点?)或将其粘贴到此处,我们可能会让您知道处理此问题的最佳方法。

    如果确实需要,您可以通过生成一个进程从C#启动PHP解释器。我将把细节留给MSDN。不过,最好是直接将PHP翻译成C。

    您可以在本地计算机上设置一个PHP服务器,并使用使用C创建的HTTP请求(例如使用
    WebRequest
    对象)调用该文件。这满足了脱机工作的要求,并且因为您有PHP代码,所以可以进行一些小的修改,以适应需要传递给它的任何参数

    但是除非这是针对受控环境中的孤立案例,否则我不会建议这样做


    如果这是为了分发给用户机器,那么a)部署不切实际,b)维护噩梦。如果您在服务器上运行,并且不能用c#重写PHP,那么应该可以完成这项工作。

    如果您不想将PHP代码翻译成c#,那么必须调用PHP解释器

    首先,查看将要使用的PHP代码的许可证。当我在前面查看代码时,我注意到除了一个PHP文件外,其他所有的PHP文件上都有GNU GPL许可证。GNU GPL应该可以满足您的需要,但是如果您还没有这样做,我建议您检查GNU GPL。在继续之前,您还应该查看应该应用于最后一个文件的许可证

    其次,重写条目文件。所讨论的文件是upload_file.php。此文件加载其他文件(包括),解析SC2重播文件,并生成输出供web浏览器使用。您只需要重写这个文件,让它将其输出的简化版本输出到控制台。您可以让它从命令行参数接收重播文件的名称。标记为GNU GPL的其他文件可以直接复制到您的项目中。我还要说,这里可能已经有了一个控制台版本。花点时间四处看看

    第三,编写一个C#应用程序。调用PHP解释器,告诉它要解释的文件以及要解析的重播文件的名称。您需要将PHP实例的控制台输出重定向到C#代码中才能读取输出

    第四,阅读输出


    第五,解析输出以便在C#应用程序中使用。

    旧线程,但认为它可以使用答案


    你可以使用codeplex Phalanger。它允许您将现有的php文件编译到.net

    我试图模仿的php页面就是上面的那一个,我可以点击我这边的链接,对不起,我错过了页面上指向源代码的链接。忽略我的评论:-/@fatalaboon so。。这比听起来要复杂一点。将其转换为C#可能需要花费大量的精力(其中也有C?)。也许Tim的建议将是最有帮助的。手动将PHP翻译成C#是我的最后手段,我想在我开始之前寻求一种更直接的方法来处理这个问题…为什么它必须是C#?因为我可以轻松地使用C#来制作应用程序,但是我需要php文件中的算法。从你下面的评论中,我看到你在寻找如何解析星际争霸2重播文件的信息,而不仅仅是一般的文件信息。你应该把这个添加到你的问题帖子中。嗯,是的,还有。。不,我实际上已经有了解析回放的工具,我只需要让PHP在C中运行#是的,这是为了分发,在final stage=XT上.Net 4.0中的DLR(动态语言运行时)可能有一些可能性。这使得c#等强类型语言能够与PHP等解释性语言进行接口。我找不到一个具体的例子,但这可能是你开始的好地方。谢谢你的回答1)我知道许可证,我很好。2) 关于要重写的文件,我得出了相同的结论,但我对PHP=X一无所知,甚至不知道PHP可以写入控制台。在选择这个PHP开源项目作为我的最佳选择之前,我环顾了很久。据我所知,我需要重写前63行,其中包含javascript(不知道该部分做什么,tbh),以及一些生成表单的HTML。PHP中唯一的一个部分是说不要上传超过4Mo的文件(如果我没弄错的话)。最后但同样重要的是,你说的是“PHP解释器”,你是说Phalanger吗?(据我所知,他们使用/制造phpc)。第3/4/5部分完全没有问题。我所说的PHP解释器是指官方的PHP-CLI。PHP-CLI中的echo语句写入控制台输出。我听说有可用的PHP编译器,但还没有研究它们。我不确定在这种情况下使用Phalanger将如何改变你必须做的事情。在这篇文章之后,我尝试了很长一段时间使用Phalanger,结果并不令人满意。所以我开始重写代码。