我有一个桌面应用程序将POST数据(文本和图像文件)传递到Apache Web服务器上的PHP文件中。出于某种原因,POST数据是空的。有谁知道造成这种情况的原因是什么?
我现在要做的就是使用以下方式显示POST数据:
<?php print_r($_POST); ?>
但我一无所获。没有错误也没有数据。奇怪的是,这在我的旧服务器上完美运行 - 但是对于我的新主机,$ _POST var是空的,所以我相信这不是应用程序的问题。
桌面应用程序是由其他人使用Poco发送HTML表单数据构建的,所以我不太了解它,但我知道它肯定是有效的,因为它目前正在我当前的其他网络服务器上工作。
Weirder仍然,当我没有附加图像时,一切都按预期工作。一旦附加图像(&lt; 100kb),我就不会得到任何数据。
Poco HTML表单在附加文件时使用multipart/form-data
作为编码类型,在没有附件时使用application/x-www-form-urlencoded
(默认)。
我在这里难过,想知道是否有人知道会发生什么,或者至少我应该尝试什么?
提前致谢。
编辑:我也忘了提及如果我在没有问题的情况下从其他网页提交它,它会有效。
双重编辑:以下是HTML中表单的等效内容:
<form enctype="multipart/form-data" action="http://DOMAIN.COM/savedata.php" method="POST">
name: <input type="text" name="name" /><br />
email: <input type="text" name="email" /><br />
gender: <select name="gender"><option value="0">Female</option><option value="1">Male</option></select><br />
photo: <input name="photo" type="file" /><br />
<input type="submit" value="Upload File" /></form>