2011-01-19 86 views
0

我正在研究一個調查腳本,在調查結束時,我有$ _SESSION中需要的所有數據。發佈$ _SESSION的內容的最佳方式我對另一臺服務器上的處理程序感興趣?如果我不能POST(使用cURL左右),我的其他選項是什麼?

感謝, 瑞安

回答

2

這裏是你如何與捲曲做到這一點:

<?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); 
?> 

如果捲曲ISN '你可以使用fsockopen(http://de.php.net/manual/en/function.fsockopen.php),但這將會多一點工作。

+0

鍛煉出色。謝謝! – NightHawk 2011-01-20 22:14:05

0

我會建議使用數據庫來存儲調查結果。您可以使用正確的配置訪問遠程服務器的數據庫。

+0

整個腳本是獨立於數據庫的,我沒有可用的數據庫。沒有數據庫可能嗎? – NightHawk 2011-01-19 20:48:32

0

爲什麼你不能POST?也許你將無法使用cURL或其他庫,但除非你的服務器被防火牆或PHP配置禁用了這個功能,否則你可以手動打開網絡流和POST腳本,沒有什麼關於它的內容。如果你可以使用PECL HTTP擴展,看看this,否則你會發現很多例子的手工做一個簡單的POST請求