带文件附件的HTTP POST

时间:2015-04-01 10:06:42

标签: php http

我正在尝试使用HTTP传递接收供应商的订单。他们不确定发送了什么,所以我设置了一般捕获,看看发生了什么。这是我的代码:

<?
$handle = fopen("landstore.txt", "w");
fwrite($handle, strtoupper($_SERVER['REQUEST_METHOD']));
$data = array("headers" => headers_list(), "post" => $_POST, "get" => $_GET, "file" => $_FILES);
file_put_contents($handle, json_encode($data));

if (!empty($_POST)) {
fwrite($handle, date("Y-m-d H:i:s"));
fwrite($handle, "Post ON"); 
fwrite($handle, "\r\n");
foreach ($_POST as $key => $value)  {
    fwrite($handle, $key." post =");
    fwrite($handle, $value.",  ");
        }
fwrite($handle, "\r\n");
}
if (!empty($_FILES))    {
fwrite($handle, date("Y-m-d H:i:s"));
fwrite($handle, "Files ON");
fwrite($handle, "\r\n");
foreach ($_FILES as $key => $value)  {
    fwrite($handle, $key." file =");
    fwrite($handle, $value.",  ");
    }
fwrite($handle, "\r\n");
}

if (isset($_GET))   {   
fwrite($handle, date("Y-m-d H:i:s"));
fwrite($handle, "Get ON");
fwrite($handle, "\r\n");
foreach ($_GET as $key => $value)  {
    fwrite($handle, $key." get =");
    fwrite($handle, $value.",  ");
}
fwrite($handle, "\r\n");
}

fclose($handle);
?>

答案如下:

POST2015-04-01 11:58:13Get ON outFileName get =/exnfs/UAT2/requests/001152/11525750/Dispatch/SIMULATED_OUTPUT_N150324_001_31_R_HCP_60.pdf.xml,  

我问供应商是否链接&#34; / exnfs / UAT2 /..."是我应该用来检索xml文件,在这种情况下,我需要一个前缀。他们说我应该忽略链接,因为这是为了验证目的,并且应该有一个xml文件附加到帖子。

根据响应,请求方法是post,但是在foreach循环中没有为$ _POST提供条目,并且路径以$ _GET的形式返回,并且没有$ _FILES。

请有人帮我解释一下这个问题。是否有可能在某处存在文件以及通过post / get发送的路径(?不确定哪个?)以及如果文件存在,我将如何检索该文件。谢谢。

0 个答案:

没有答案