ブラウザで次のURLを使用すると、JSonコンテンツを含むテキストファイルをダウンロードするように求められます。
https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World&chof=json
(上記のURLをクリックして、ダウンロードしたファイルのコンテンツを参照)
ここで、PHPページを作成します。このphpページを呼び出すときに、上記のURLを呼び出してファイルからコンテンツ(json形式)を取得し、画面に表示する必要があります。
これどうやってするの ??
PHP設定によって異なりますが、これはmayを使用するのと同じくらい簡単です:
$jsonData = json_decode(file_get_contents('https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World&chof=json'));
ただし、allow_url_fopen
がシステムで有効になっていないため、次のようにCURLを介してデータを読み取ることができます。
<?php
$curlSession = curl_init();
curl_setopt($curlSession, CURLOPT_URL, 'https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World&chof=json');
curl_setopt($curlSession, CURLOPT_BINARYTRANSFER, true);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, true);
$jsonData = json_decode(curl_exec($curlSession));
curl_close($curlSession);
?>
ちなみに、生のJSONデータだけが必要な場合は、json_decode
。
1)ローカルな最も簡単な方法
<?php
echo readfile("http://example.com/"); //needs "Allow_url_include" enabled
//OR
echo include("http://example.com/"); //needs "Allow_url_include" enabled
//OR
echo file_get_contents("http://example.com/");
//OR
echo stream_get_contents(fopen('http://example.com/', "rb")); //you may use "r" instead of "rb" //needs "Allow_url_fopen" enabled
?>
2)より良い方法はCURL:
echo get_remote_data('http://example.com'); // GET request
echo get_remote_data('http://example.com', "var2=something&var3=blabla" ); // POST request
[〜#〜] followlocation [〜#〜]問題+リモートURLを自動的に処理します。src="./imageblabla.png"
になって:src="http://example.com/path/imageblabla.png"
コード: https://github.com/tazotodua/useful-php-scripts/blob/master/get-remote-url-content-data.php
忘れないでください:HTTPSコンテンツを取得するには、php.iniでOPENSSL拡張機能を有効にする必要があります。 ( HTTPSを使用してサイトのコンテンツを取得する方法 )
つかいます file_get_contents
と組み合わせてjson_decode
およびecho
。
$url = "https://chart.googleapis....";
$json = file_get_contents($url);
出力を表示するだけの場合は、$ json変数をエコーするか、デコードしてから何かを実行できます。
$data = json_decode($json);
var_dump($data);