2016-10-19 12 views
0

API接続からのJSON応答をJSONファイルに書き込もうとしていますが、そうしたときにはJSONファイルの値がtrueになります。JSONファイルをJSONファイルに入れよう

APIのPHPの機能:

public function Get_Reviews(){ 
    $token = 'CDF494791E05F36531FA0F5F'; 
    $headers[] = 'Authorization: Bearer ' . $token; 


    $curl = curl_init(); 

    curl_setopt_array($curl, array(
     CURLOPT_URL => '[URL]', 
     CURLOPT_HTTPHEADER => $headers 
     )); 

    $response = curl_exec($curl); 
    curl_close($curl); 

    return json_encode($response); 
} 

とJSONファイル内の応答置くためのコード:私は($レビュー)のvar_dumpとき、私はクリーンなJSONレスポンスを取得し、I

$api = new Reviews(); 
    $reviews = $api->Get_Reviews(); 


    $file = "reviews_created.json"; 
    unlink($file); 
    $fp = fopen($file, 'w'); 
    fwrite($fp, $reviews); 
    fclose($fp) 

をそれをJSONファイルで手動でコピーできますが、私はこの動的にする必要があります。

私は誰でもこれを手伝ってくれることを願っています。

+0

var_dumpの代わりに "echo"を使ってテストして何が得られるのでしょうか? – Ultrazz008

+1

正しいjsonを表示しているのはあなたの 'var_dump()'ではありません。これはあなたのカールコールです。結果を表示する代わりにキャプチャするには、 'CURLOPT_RETURNTRANSFER'を' true'に設定する必要があります。 –

+0

[cURLとPHPが "1"を表示する可能性のある複製](http://stackoverflow.com/questions/10909002/curl-and-php-displaying-1) –

答えて

0

このサンプルコードを確認してください。それは私の側でうまくいきます。

<?php 
// Get cURL resource 
$curl = curl_init(); 

// Set some options - we are passing in a useragent too here 
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1, 
     CURLOPT_URL => "your API end point" 

    )); 

// Send the request & save response to $resp 
$result = curl_exec($curl); 

// Close request to clear up some resources 
curl_close($curl); 

//header('Content-Type: application/json'); 
//echo $result; 


$file = 'product.json'; 
// Open the file to get existing content 
$current = file_get_contents($file); 
// Append a new person to the file 
$current .= $result; 
// Write the contents back to the file 
file_put_contents($file, $current); 

注:宛先JSONファイルに書き込み権限を与えます。

+0

CURLOPT_RETURNTRANSFER => 1、ありがとう! – cognopatrick