Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过php将表单数据从我的网站发送到远程http服务器_Php_Html_Http Post - Fatal编程技术网

通过php将表单数据从我的网站发送到远程http服务器

通过php将表单数据从我的网站发送到远程http服务器,php,html,http-post,Php,Html,Http Post,大家好 我收到了从html表单到我的action.php文件的http post请求,然后这个php文件将这些值写入一个文本文件。 现在我希望php文件将它接收到的数据发送到远程http服务器进行进一步处理(我使用的是一个简单的python http服务器) 这是我的php代码: <?php $data1 = $_REQUEST['key1']; $data2 = $_REQUEST['key2']; $data3 = $_REQUEST['key3']; $data4 = $_REQU

大家好

我收到了从html表单到我的action.php文件的http post请求,然后这个php文件将这些值写入一个文本文件。 现在我希望php文件将它接收到的数据发送到远程http服务器进行进一步处理(我使用的是一个简单的python http服务器)

这是我的php代码:

<?php

$data1 = $_REQUEST['key1'];
$data2 = $_REQUEST['key2'];
$data3 = $_REQUEST['key3'];
$data4 = $_REQUEST['key4'];
$data5 = $_REQUEST['key5'];
$fp = fopen('datafile.txt', 'w+');
fwrite($fp, implode("\n", [$data1, $data2, $data3, $data4, $data5]));
fclose($fp);

// example data
$data = array(
'key1'=> $data1,
'key2'=> $data2,
'key3'=> $data3,
'key4'=> $data4,
'key5'=> $data5
);

// build post body
$body = http_build_query($data); // foo=bar&baz=boom

// options, headers and body for the request
$opts = array(
'http'=>array(
'method'=>"POST",
'header'=>"Accept-language: en\r\n",
'data' => $body
 )
);

// create request context
$context = stream_context_create($opts);

// do request    
$response = file_get_contents('http://2.22.212.12:42221', false, $context)

?>

但是,当我提交表单时,只生成datafile.txt文件,没有向远程python服务器发送post请求


我做错了什么?

我强烈建议使用fopen()而不是file\u get\u contents(),但这可能是一个因素

另一个是标题。“文档”页面上的注释以这种方式为POST请求设置标题:

'header'=> "Content-type: application/x-www-form-urlencoded\r\n"
                . "Content-Length: " . strlen($body) . "\r\n",
更多的例子请看一下太