我有一个桌面应用程序将 POST 数据(文本和图像文件)传递到 Apache Web 服务器上的 PHP 文件。由于某种原因,POST 数据是空的。有谁知道是什么原因造成的?
我现在正在尝试的只是使用以下方法显示 POST 数据:
<?php print_r($_POST); ?>
但我什么也得不到。没有错误也没有数据。奇怪的是,这在我的旧服务器上完美运行 - 但是对于我的新主机,$_POST var 是空的,所以我相信这不是应用程序的问题。
桌面应用程序是由其他人构建的,使用 Poco 发送 HTML 表单数据,所以我不太了解它,但我知道它是否可以正常工作,因为它目前正在我当前的其他网络服务器上工作。
更奇怪的是,当我不附加图像时,一切都按预期工作。只要附上图像(<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>