我有2个PHP脚本,一个驻留在服务器A上,另一个驻留在服务器B上。我需要将PHP A通过POST接收的变量传递给PHP B,而不需要重定向页面。我怎么能这样做?
答案 0 :(得分:1)
您可以使用curl,
$curlHandler = curl_init();
$curlOpts = array(
CURLOPT_URL => "http://www.example.com/Target.php",
CURLOPT_FRESH_CONNECT => true,
CURLOPT_HEADER => false,
CURLOPT_POSTFIELDS => http_build_query($_POST, "", "&"),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERAGENT => "MyScript/0.1"
);
curl_setopt_array($curlHandler, $curlOpts);
if (false===($responseString=curl_exec($curlHandler))) {
exit("0 - No connection to server.");
}
echo $responseString;
如果您将POST数据发送到此脚本,它会将其发送到http://www.example.com/Target.php。
如果获得$_POST["Foo"] = 10
,则会将$_POST["foo"] = 10
发送给Target.php。
它使用具有相同名称和值的所有Post变量。
编辑:
如果你想发送一些vars,你可以这样做:
$vars = array("key" => "value",
"key2" => "value2",
...
);
完成后,您必须更改上面示例中的行:
CURLOPT_POSTFIELDS => http_build_query($_POST, "", "&"),
需要更改为
CURLOPT_POSTFIELDS => http_build_query($vars, "", "&"),
答案 1 :(得分:0)
通过在PHP脚本中执行POST请求。关于如何做到这一点有很多教程(例如this one)。您只需将POST参数值以这种方式传输到第二台服务器,就不需要页面重定向。
答案 2 :(得分:0)
您可以使用php curl function将变量发布到其他服务器
答案 3 :(得分:0)