Php 通过http post接收xml文件
我有一个通过HTTPPOST接收xml文件的测试脚本,当我在内部使用它时,它似乎工作正常。当我将脚本移动到可以从外部访问的web服务器时,似乎什么都没有发生。有人有什么想法吗Php 通过http post接收xml文件,php,http-post,httppostedfile,Php,Http Post,Httppostedfile,我有一个通过HTTPPOST接收xml文件的测试脚本,当我在内部使用它时,它似乎工作正常。当我将脚本移动到可以从外部访问的web服务器时,似乎什么都没有发生。有人有什么想法吗 <?php if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) { $inp = fopen("php://input"); $outp = fopen("xmlfile" . date("YmdHis") . ".xml", "w");
<?php
if ( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
$inp = fopen("php://input");
$outp = fopen("xmlfile" . date("YmdHis") . ".xml", "w");
while (!feof($inp)) {
$buffer = fread($inp, 8192);
fwrite($outp, $buffer);
}
fclose($inp);
fclose($outp);
echo "<html><head>test response</head><body>OK</body></html>";
}
?>
确保服务器上的设置是从php.ini打开的 话虽如此,请注意该设置 更新: 尝试查看是否有任何错误,打开错误报告,将以下两行放在脚本顶部:
ini_set('display_errors', true);
error_reporting(E_ALL);
需要检查的其他事项:
php://input如果表单具有enctype=multipart/form data
php://input
只能读取一次(不太可能,除非脚本中还有其他部分没有显示)LimitRequestBody
和/或PHP的upload\u max\u size
/POST\u max\u size
任何你必须阅读原始输入而不能编写($outp,$\u POST['xml'])的原因。?Hi,是的,看起来是设置为允许url\u fopen=OnHi,谢谢。我已经试过了,好像有什么错误。基本上,Web服务器上的脚本只是上面的代码+您的更新。不知道问题出在哪里!编辑问题以显示我是如何发布的…不确定这是否是一个原因。您是否首先打开了curl扩展?是的…它对另一个web应用程序有效,并且在我发布到localhost时有效。当我将例如echo放在“test1”中时;在上面的接收脚本中,没有任何内容被回显…所以我想知道它是否被正确发布。你可以试着用另一种方式发帖。
ini_set('display_errors', true);
error_reporting(E_ALL);