如何“正确地”使用cURL上传文件的内容?使用CURL发布文件内容
这里有很多解释和问题,其中tmp文件是通过在文件上使用@prefix卷曲发送的,或者使用curlFile api发送的。在我的用例中,我不想创建一个tmp文件,只需将file_get_contents('php://input')
的内容作为发布请求的主体发布。服务器不接受多部分表单请求。
的剪断之后将PHP7工作:
$body = file_get_contents('php://input');
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
感觉丑陋的内容类型设置为JSON,无论什么流可实际内容成立。但它似乎工作。很遗憾,我需要支持一个真正旧版本的PHP,并且觉得没有选择余地。
我的问题是: 上面的例子是否正确,即使是PHP 7还是可以做得更好? 此外:是否有任何改进或选项可用于使用PHP 5.3.10进行此项工作?在这个旧版本中,帖子主体似乎总是空的。