post.php向getPost.php发送post
getPost.php里面只有这句 var_dump($_POST);
为什么getPost.php里面是空 反而post.php里面得到了值。
谢谢了
function do_post_request($url, $data, $optional_headers = null)
{
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
return $response;
}
$postdata = array('name' => 'lichen');
$postdata = http_build_query($postdata);
echo do_post_request('http://localhost/getPost.php', $postdata);
1
myleon 2015-04-23 16:42:41 +08:00
用F12 看看到底post给了谁
|
2
444683462 OP |
3
neutrino 2015-04-23 16:48:18 +08:00
因为确实在do_post_request里读了啊。。。改成'wb',fputs()看看。。
|
4
ashong 2015-04-23 16:48:25 +08:00
echo do_post_request('http://localhost/getPost.php', $postdata);
你在post.php里面echo,当然是post.php里面显示了 |
7
cylin 2015-04-23 17:03:37 +08:00
你自己通过浏览器访问getPost.php是GET请求,$_POST变量肯定是空的,需要通过浏览器提交POST请求才有结果
|
8
lincanbin 2015-04-23 17:06:19 +08:00
PHP的生命周期是一个请求,因此在一个请求结束后getPost.php里的$_POST就已经被销毁了,自然没有值。
你如果想要持久化$_POST,可以用MemCached之类的服务。 |
11
sun019 2015-04-23 17:59:19 +08:00
请用 curl
|