En el ejemplo de Sheety puedo obtener el fichero JSON sin problema:
Código:
Quiero realizar el proceso usando únicamente PHP, para ello utilizo el siguiente código:<html> <head> <title>UK Theme Parks</title> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.12/handlebars.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $.getJSON('https://api.sheety.co/uk-theme-parks', function(data) { var template = Handlebars.compile($('#item-template').html()) $('#items').html(template(data)) }) }) </script> <script id="item-template" type="text/x-handlebars-template"> <ul> {{#each this}} <li><a href="{{website}}">{{name}}</a></li> {{/each}} </ul> </script> </head> <body> <div id="items">Loading theme parks...</div> </body> </html>
Código PHP:
<?php
// funcion para evitar problemas con SSL
function file_get_contents_curl( $url ) {
$ch = curl_init();
curl_setopt( $ch, CURLOPT_AUTOREFERER, TRUE );
curl_setopt( $ch, CURLOPT_HEADER, 0 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, TRUE );
$data = curl_exec( $ch );
curl_close( $ch );
return $data;
}
$json_string = 'https://api.sheety.co/uk-theme-parks';
$jsondata = file_get_contents_curl($json_string);
var_dump($jsondata); echo '<br>';
$obj = json_decode($jsondata);
var_dump($obj);
?>