我正在编写调查脚本,在调查结束时,我在$ _SESSION中拥有了我需要的所有数据。将我感兴趣的$ _SESSION的内容发布到另一台服务器上的处理程序的最佳方法是什么?如果我不能POST(使用cURL左右),我的其他选择是什么?
谢谢, 莱恩
答案 0 :(得分:2)
以下是你如何使用curl:
<?php
//Server to POST data to
$url = 'http://foo.com/bar';
$postVars = '';
foreach($_SESSION as $key => $value) {
$postVars .= urlencode($key).'='.urlencode($value).'&';
}
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST ,1);
curl_setopt($ch, CURLOPT_POSTFIELDS ,$postVars);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
?>
如果curl不可用,你可以使用fsockopen(http://de.php.net/manual/en/function.fsockopen.php),但这样做会更多。
答案 1 :(得分:0)
我建议使用数据库来存储调查结果。您可以使用正确的配置访问远程服务器的数据库。
答案 2 :(得分:0)
为什么你不能发帖?也许您将无法使用cURL或其他库,但是,除非您的服务器是防火墙或PHP配置已禁用,您可以手动打开网络流和脚本,没有任何开放性。如果您可以使用PECL HTTP扩展,请查看this,否则您将找到大量手动执行简单POST请求的示例