我编写了一个程序,它将二进制文件读入RAM,然后使用HTTP请求将其发送到我的服务器。它使用PUT方法,二进制文件是(in)正文。 现在,我如何告诉我的服务器接收并保护文件夹中的文件? 如果可能的话,我没有任何额外的库需要下载(除非它更有效) 我知道,这个有一些类似的线程,但是他们要么就是接收文本,要么就是用库来做这些,或者根本就没有足够的答案。
我也想知道,如果使用POST方法或任何其他方法而不是PUT更高效或更智能。
答案 0 :(得分:0)
您可以通过打开php://输入流来获取数据,如下所示:
$datastr = fopen('php://input',rb);
if ($fp = fopen('outputfile.bin', "wb")){
while(!feof($datastr)){
fwrite($fp,fread($datastr,4096)) ;
}
}
关于是否使用POST或其他任何内容取决于数据发生了什么,以及您是否关心RESTful等。见other questions/answers,indempotency。
使用POST时我会看到的优点是它更常用(在大多数提交表单中你上传文件),因此在PHP和HTML中有更多的支持。