Php 二进制模式写入

Php 二进制模式写入,php,binary,Php,Binary,我正在编写一个php程序来编写二进制文件(可能是视频或图像文件)。我希望将其作为一个web服务,并从另一个应用程序(如c#、mac等)调用它 我的代码如下所示 <?php $fileChunk = $_POST["filechunk"]; $vodFolder = 'D:\\HYSA SVN\\Trunk\\workproducts\\source\\hysa_he\\web\\entertainment\\'; $vodFile = $vodFolder . "abcd.mov"; $f

我正在编写一个php程序来编写二进制文件(可能是视频或图像文件)。我希望将其作为一个web服务,并从另一个应用程序(如c#、mac等)调用它

我的代码如下所示

<?php
$fileChunk = $_POST["filechunk"];
$vodFolder = 'D:\\HYSA SVN\\Trunk\\workproducts\\source\\hysa_he\\web\\entertainment\\';
$vodFile = $vodFolder . "abcd.mov";
$fh = fopen($vodFile, 'ab');

flock ($fh, LOCK_EX);
$varsize = fwrite($fh, $fileChunk);
fclose($fh);
?>

好吧,问题不在写入部分,它工作正常

但是,HTTP中的POST请求如下所示:

POST /somepage.php HTTP/1.1
Content-Length: 34

variable1=blah&var2=something else
正如您所看到的,变量被符号(&)(以及键值映射的等号(=)所除)。。。因此,即使使用POST请求,符号也不是安全字符


要解决这个问题,您可以尝试另一种传输方法,例如TCP/IP套接字连接,或者简单地用“\x26”(符号的ASCII值)来转义和“\x5C”来转义所有反斜杠(\)。。。您必须编辑PHP代码来解析这些值。

谢谢您的回复。你能告诉我如何用“\x26”和“\x5C”来转义所有的反斜杠()吗
POST /somepage.php HTTP/1.1
Content-Length: 34

variable1=blah&var2=something else