无法通过POST将文件从Qt上载到PHP脚本

无法通过POST将文件从Qt上载到PHP脚本,php,c++,qt,post,Php,C++,Qt,Post,我试图通过POST将一个文件从一个Qt(C++)应用程序上传到我的Web服务器,运行一个LAMP堆栈 一切似乎都进行得很顺利,但出于某种原因,脚本的$\u POST和$\u文件数组完全为空。我试着用一个简单的HTML表单上传同一个文件,效果很好 以下是我如何在Qt程序中构造请求: request.setUrl(ServerAddress); request.setHeader(request.ContentTypeHeader, "application/x-www-form-urlencode

我试图通过POST将一个文件从一个Qt(C++)应用程序上传到我的Web服务器,运行一个LAMP堆栈

一切似乎都进行得很顺利,但出于某种原因,脚本的
$\u POST
$\u文件
数组完全为空。我试着用一个简单的HTML表单上传同一个文件,效果很好

以下是我如何在Qt程序中构造请求:

request.setUrl(ServerAddress);
request.setHeader(request.ContentTypeHeader, "application/x-www-form-urlencoded");
reply = nam.post(request, file);
而PHP:

<?php
var_dump($_POST);
var_dump($_FILES);
?>

这是一个非常小的文本文件,只包含“我的数据!”。我只是不明白为什么PHP脚本没有看到文件。你知道我哪里出错了吗?

我一直使用
多部分/表单数据
上传文件。当我使用那种类型时,我的数组仍然是空的,但我得到一个php警告:
多部分中缺少边界/form data POST data in Unknown in line 0
你必须用边界构建你的帖子。我认为@DevZer0是正确的,感谢DevZer0,您应该使用有效的多部分/表单数据。如果你给我回信,我会接受的
POST /upload.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 8
Connection: Keep-Alive
Accept-Encoding: gzip, deflate
Accept-Language: en-US,*
User-Agent: Mozilla/5.0
Host: mysite.com

My data!HTTP/1.1 200 OK
Date: Wed, 03 Jul 2013 15:16:37 GMT
Server: Apache/2.2.22 (Ubuntu)
X-Powered-By: PHP/5.4.17RC1
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 36
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

array(0) {
}
array(0) {
}