Tag: php

C#:运行shell命令时出现问题

我正在尝试让PHP解析器运行一个页面,然后将结果返回给我的服务器,但是当我通过我的代码运行命令时,它什么都不返回。 我知道命令是正确的,因为如果我用相同的路径手动运行它,它工作正常。 inheritance我的代码: var p = new Process { StartInfo = new ProcessStartInfo(“C:\\xampp\\php\\php.exe”, path) { RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false, CreateNoWindow = true } }; var output = new StringWriter(); var error = new StringWriter(); p.OutputDataReceived += (sender, args) => output.WriteLine(args.Data); p.ErrorDataReceived += (sender, args) => error.WriteLine(args.Data); p.Start(); p.BeginOutputReadLine(); p.BeginErrorReadLine(); p.WaitForExit(); […]

PHPexception处理vs C#

这是一个非常基本的问题(我希望)。 我所做的大多数exception处理都是使用c#。 在c#中,try catch块中出错的任何代码都由catch代码处理。 例如 try { int divByZero=45/0; } catch(Exception ex) { errorCode.text=ex.message(); } 该错误将显示在errorCode.text中。 如果我尝试在php中运行相同的代码但是: try{ $divByZero=45/0; } catch(Exception ex) { echo ex->getMessage(); } 捕获代码未运行。 根据我的理解,php需要一个抛出。 这不是打败错误检查的全部目的吗? 这不会减少尝试捕获到if then语句吗? if(除以零)抛出错误请告诉我,我不必预测try中的每个可能的错误。 如果我这样做,那么无论如何都要让php的error handling更像c#吗?

‘正则表达’VS’字符串比较运算符/函数’

这个问题是围绕PHP中的性能设计的,但如果您愿意,可以将其扩展为任何语言。 经过多年使用PHP并且不得不比较字符串,我已经了解到在性能方面使用字符串比较运算符而不是正则表达式是有益的。 我完全理解一些操作必须使用正则表达式来完成复杂性,但对于可以通过正则表达式和字符串函数解决的操作。 举个例子: PHP preg_match(‘/^[az]*$/’,’thisisallalpha’); C# new Regex(“^[az]*$”).IsMatch(‘thisisallalpha’); 可以轻松完成 PHP ctype_alpha(‘thisisallalpha’); C# VFPToolkit.Strings.IsAlpha(‘thisisallalpha’); 还有很多其他的例子,但你应该明白我想要的。 你应该尝试和倾向于什么版本的字符串比较?为什么?

C#等效的PHP http_build_query

我需要使用HttpWebRequest从我的C#客户端将一些数据传递到服务器上的PHP页面。 根据文档的预期数据是一个数组数组,如下所示: $postData = array( ‘label1’ => ‘myLabel’, ‘label2’ => array( ‘label2_1’ => 3 ‘label2_2’ => array( ‘label2_2_1’ => 3 ) ) ); 上面的结构只是一个例子。 它可能非常复杂,结构本身也不是一成不变的。 在PHP中有一个名为http_build_query的函数,它将这些PHP嵌套数组序列化为一个简单的字符串,该字符串可以作为HTTP POST请求的数据发送。 问题是我需要从我的C#应用​​程序调用这个PHP页面。 我想将这些嵌套数组表示为嵌套的Dictionary或匿名类型。 我怎样才能做到这一点? http_build_query遵循什么规则来生成其输出字符串? 有一个非常类似的问题将PHP数组转换为C# ,遗憾的是这并没有解决我的问题。 接受的答案建议采用固定结构的解决方案,第二种方法根本不起作用。

如何将PHP转换为.NET初学者

我有什么选择将PHP转换为C#/ ASP.NET? 我很难找到相关的信息,所以我创建了这个问题/答案,为那些也遇到过这种绊脚石的人提供一站式服务。 简而言之,我将解释我找到的不同工具,对我有用的工具,并将您链接到一些转换指南。

优雅地检查给定日期是否是昨天

假设您有一个Unix时间戳,那么检查该时间戳是否是昨天某个时间的简单和/或优雅方法是什么? 我主要是在寻找Javascript,PHP或C#的解决方案,但也欢迎伪代码和语言无关的解决方案(如果有的话)。

使用AES / Rijndael在PHP中加密,在C#(WP7 / Silverlight)中解密

我在我的Android应用程序中使用PHP编写的REST服务没有太多麻烦。 现在我正试图在Windows Phone应用程序中使用它,我已经疯了! 到目前为止我所知道的: Silverlight只接受CBC模式下的Aes和PKCS7填充。 我得到的:“填充无效,无法删除”exception(参见底部的完整代码): plaintext = srDecrypt.ReadToEnd(); 如果我在C#中加密和解密,使用相同的配置,它工作正常。 当我尝试从PHP加密字符串中输入C#时,它会因上述错误而失败。 我的PHP脚本执行以下操作: function encrypt128($message) { $vector = “DB96A56CCA7A69FC”; $key = “6DBC44F54CA3CFDEDDCA140CA46A99C1”; // PHP md5 function leaves it in lower case, so I just copied the key from C# debug. //PKCS7 Padding $block = mcrypt_get_block_size(‘rijndael_128’, ‘cbc’); $pad = $block – (strlen($message) % $block); $message.= str_repeat(chr($pad), $pad); […]

从PHP到.NET WCF服务发布字节数组

我有一个接收文件的方法的WCF服务,看起来像这样 public bool UploadFile(string fileName, byte[] data) { //… } 我想做的是在PHP的WCF服务中将数据发布到此方法,但是如果甚至可以将字节数组从PHP发布到由WCF服务托管的.NET方法,则不知道。 所以我在考虑这样的事情 $file = file_get_contents($_FILES[‘Filedata’][‘tmp_name’]); // get the file content $client = new SoapClient(‘http://localhost:8000/service?wsdl’); $params = array( ‘fileName’ => ‘whatever’, ‘data’ => $file ); $client->UploadFile($params); 这是可能的,还是有任何一般的建议,我应该知道吗?

从PHP发送字节数组到WCF

我必须从我的PHP客户端向WCF主机发送一个字节数组(编码的照片)。 当我在PHP中对我的数组执行var_dump()时,我得到一个数组[2839],这是正常的,但在服务器端调试时我看到接收到的数组只是字节[5] …我知道如何修复它? 我用这样的代码 $file = file_get_contents($_FILES[‘Filedata’][‘tmp_name’]); $byteArr = str_split($file); foreach ($byteArr as $key=>$val) { $byteArr[$key] = ord($val); } $client = new SoapClient(‘http://localhost:8000/MgrService?wsdl’, array( ‘location’ => ‘http://localhost:8000/MgrService/SOAP11’, ‘trace’ => true, ‘soap_version’ => SOAP_1_1 )); $par1->profileId = 13; $par1->photo = $byteArr; $client->TestByte($par1); 正如我之前在wcf主机上写的那样,我只获得了字节[5]:/也许它需要一些解码来对肥皂序列化? 我应该使用Base64解码吗? 一般我只想将发布的文件上传到c#函数,其中byte []作为参数:/ Help 哦,这个函数的wsdl部分看起来像这样

RSA解密C#(.NET 3.5)中的数据,该数据在php 5.3.2中使用openssl加密

也许有人可以让我知道。 我一直在冲浪这一段时间。 步骤1:创建根证书 unix上的密钥生成 1) openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -keyout privatekey.pem -out mycert.pem 2) openssl rsa -in privatekey.pem -pubout -out publickey.pem 3) openssl pkcs12 -export -out mycertprivatekey.pfx -in mycert.pem -inkey privatekey.pem -name “my certificate” 步骤#2:根证书是否适用于php:YES PHP方面 我使用publickey.pem将其读入php: $publicKey = “file://C:/publickey.pem”; $privateKey = “file://C:/privatekey.pem”; $plaintext = “123”; openssl_public_encrypt($plaintext, $encrypted, $publicKey); $transfer = […]