发送$ _SESSION内容

时间:2011-01-19 20:44:46

标签: php session post curl

我正在编写调查脚本,在调查结束时,我在$ _SESSION中拥有了我需要的所有数据。将我感兴趣的$ _SESSION的内容发布到另一台服务器上的处理程序的最佳方法是什么?如果我不能POST(使用cURL左右),我的其他选择是什么?

谢谢, 莱恩

3 个答案:

答案 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请求的示例