2013-10-21 40 views
6

Mam kilka serwerów, które współpracują ze sobą.Opublikuj PHP na innym serwerze, a następnie zwróć odpowiedź innego serwera.

  • Server A daje odpowiedź xml do stanowisk, które przychodzą w.
  • Server B wykonuje żądania POST, modyfikuje wartości pocztowe lekko następnie robi post do serwera A (wzór myśleć adaptera). Serwer B powinien następnie poczekać na odpowiedź xml serwera A, a następnie zwrócić tę odpowiedź.

Czy istnieje prosty sposób na wykonanie tej funkcji z wbudowanymi funkcjami php?

+1

Czy próbowałeś spojrzeć na curl? – GordonM

Odpowiedz

12

miałem podobną potrzebę jednego z moich skryptów i był w stanie to zrobić przy użyciu następujących,

$url = URL_TO_RECEIVING_PHP; 

$fields = array(
     'PARAM1'=>$_POST['PARAM1'], 
     'PARAM2'=>$_POST['PARAM2'] 
); 

$postvars=''; 
$sep=''; 
foreach($fields as $key=>$value) 
{ 
     $postvars.= $sep.urlencode($key).'='.urlencode($value); 
     $sep='&'; 
} 

$ch = curl_init(); 

curl_setopt($ch,CURLOPT_URL,$url); 
curl_setopt($ch,CURLOPT_POST,count($fields)); 
curl_setopt($ch,CURLOPT_POSTFIELDS,$postvars); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 

$result = curl_exec($ch); 

curl_close($ch); 

echo $result; 

To będzie echo, co jest zwracany z listy odbierając PHP.