如何将信息从一个php页面传递到另一个不同的服务器?

时间:2013-11-20 04:27:51

标签: php web

我有一个php页面,比如A,我在其中调用另一个页面,B不在同一台服务器上,使用标题功能&在URL中传递一些参数。我希望从B中将一些信息返回给A.如何管理?要返回的信息可以是文件或大型数组的内容。

说,我用这个 -

    header('location:B.php?getx=23');

现在,我需要从B向A发送一些信息。如何从B发送信息?以及如何在A处收到相同的内容?从B发送的信息是敏感的&无法在网址中进行编码。

3 个答案:

答案 0 :(得分:1)

页面a.php:

header('Content-Type: text/html');// this page will send content to the web browser as html webpage
$json_string = file_get_contents('http://example.com/b.php?param=param&param2=param2');// this is a call to the page b.php with parameters
                                   // now, $json_string -- received from b.php data
$json = json_decode($json_string); // after decoding, $json_string converts to arrays
...                                // there you can do anything else
echo("<html>...");                 // like send page to web browser

页面b.php:

header('Content-Type: application/json'); // will return json to a.php
                                          // anything you need to prepare the data to send back
....                                      // JSON for php -- array variables
echo(json_encode(Array(...)));            // now we sending the json string to a.php
die;

答案 1 :(得分:0)

我认为你可以像这样工作,

Page A通过网址发送数据

页面B接收参数并处理数据。

页面B返回数据(基于您的要求的Json,Xml或纯HTML)

页面A可以从请求的URL解析此数据。

希望它能给出一些想法..

答案 2 :(得分:0)

您可以使用post方法将数据发送到其他服务器

 <?php
     $url='http://localhost/e/admin/test.html'
     $data = array ('foo' => 'bar');
     function mPost($url,$data)
     {

        $data = http_build_query($data);
        $opts = array (
        'http' => array (
        'method' => 'POST',
        'header'=> "Content-type: application/x-www-form-urlencoded\r\n" .
        "Content-Length: " . strlen($data) . "\r\n",
        'content' => $data
        )
        );
        $context = stream_context_create($opts);
        $html = file_get_contents($url, false, $context);
       return $html;
     }
   ?>