2017-12-04 21 views
0

別のサーバーでホストされているLaravelコントローラメソッドによって渡されたjsonファイルを出力する必要があります。 laravelコントローラからJsonファイルを取得

echo '<pre>'.print_r(json_decode(file_get_contents("http://xxx.xxx.xx.xx/myproject/public/send")),1).'</pre>'; 

そして、私のweb.phpファイル内

は私が

Route::get('/send', 'Test\[email protected]'); 

Iを持って、受信機のphpファイル(ネイティブPHP)で

function curlrequest($url, $data){ 

     $handle = curl_init($url); 
     curl_setopt($handle, CURLOPT_POST, true); 
     curl_setopt($handle, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); 
     curl_setopt($handle, CURLOPT_POSTFIELDS, $data); 
     curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); 

     $output = curl_exec($handle); 


     if($output === FALSE) { 
        die(curl_error($handle)); 
        }else{ 

        return $output; 
        } 

     curl_close($handle); 

     } 

、私は次のコードしている、このようなコードを送りますこのコードはまだ実行されていません。しかし、file_get_contentメソッドを使ってルートにアクセスすることはできないことがわかります。この状況でjsonを渡す正しい方法は何ですか?

答えて

0

あなたの質問は少し不明なようですが、私が理解できるところでは、http://xxx.xxx.xx.xx/myproject/public/sendからJSON出力を取得し、それをPHPコードで出力したいと思います。

これを行う簡単な方法は、GuzzleHttpを使用することです。

例:

$client = new \GuzzleHttp\Client(); 
$result = $client->request('GET', 'http://xxx.xxx.xx.xx/myproject/public/send'); 
echo $result->getBody(); 
関連する問題