【问题标题】:Send $_SESSION contents发送 $_SESSION 内容
【发布时间】:2011-01-19 20:44:45
【问题描述】:

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

谢谢, 瑞恩

【问题讨论】:

    标签: php session post curl


    【解决方案1】:

    以下是使用 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),但这需要更多的工作。

    【讨论】:

      【解决方案2】:

      我建议使用数据库来存储调查结果。您可以通过正确的配置访问远程服务器的数据库。

      【讨论】:

      • 整个脚本独立于数据库,我没有可用的数据库。没有数据库可以吗?
      【解决方案3】:

      为什么不能发帖?也许您将无法使用 cURL 或其他库,但除非您的服务器被防火墙或 PHP 配置禁用此功能,否则您可以手动打开网络流并从脚本中 POST,这并没有什么特别之处。如果您可以使用 PECL HTTP 扩展,请查看this,否则您会发现很多手动执行简单 POST 请求的示例

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-14
        • 1970-01-01
        相关资源
        最近更新 更多