繁体   English   中英

如何在PHP中使用“application / octet-stream”接收发送的POST数据?

[英]How to recieve POST data sent using “application/octet-stream” in PHP?

这就是我正在处理的事情。 我们的一个程序有一个用户用来请求支持的支持表单。 这个表单的作用是,它对PHP脚本执行HTTP POST请求,该脚本应该收集信息并将其转发到支持电子邮件地址。

POST请求包含三个类型为Content-Type: text/plain文本字段Content-Type: text/plain ,可以使用$_POST['fieldname']在PHP中轻松读取。 但是,此POST请求中的某些内容是Content-Type: application/octet-stream文件。 使用$_POST似乎不适用于这些文件。 我如何阅读这些文件的内容?

先感谢您。

你必须使用$ _FILES超全局:

$contents = file_get_contents($_FILES['myfile']['tmp_name']);

您可以在手册中找到更多信息。 这仅在您的请求中使用multipart / form-data编码时才有效。

您可以以其他方式读取原始POST数据,然后自己解析:

$rawPost = file_get_contents('php://input');

这些属于$ _FILES超全球。 在这里阅读: http//php.net/manual/en/features.file-upload.php

基本上,你得到的是一个类似于POST的数组,但是有文件大小,临时名称和文件的临时位置,你可以使用它来测试文件并将文件移动到永久位置。

PHP手册的更多一般信息: http//php.net/manual/en/features.file-upload.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM