php - programacion - curso android desarrollo de aplicaciones móviles pdf
Obtener el contenido del archivo de la URL? (5)
1) métodos locales más simples
<?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) Mejor Camino es CURL :
echo get_remote_data(''http://example.com''); // GET request
echo get_remote_data(''http://example.com'', "var2=something&var3=blabla" ); // POST request
Maneja automáticamente el problema de FOLLOWLOCATION + URLs remotas:
src="./imageblabla.png"
convirtió en:
src="http://example.com/path/imageblabla.png"
Código: https://github.com/tazotodua/useful-php-scripts/blob/master/get-remote-url-content-data.php
Cuando uso la siguiente URL en el navegador, me pide que descargue un archivo de texto con contenido JSOn.
https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World&chof=json
(Haga clic sobre la URL para ver el contenido del archivo descargado)
Ahora quiero crear una página php. Quiero que cuando llame a esta página php, debería llamar a la URL anterior y obtener contenido (formato json) del archivo y mostrarlo en la pantalla.
Cómo puedo hacer esto ??
Dependiendo de su configuración de PHP, esto puede ser tan fácil como usar:
$jsonData = json_decode(file_get_contents(''https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World&chof=json''));
Sin embargo, si allow_url_fopen
no está habilitado en su sistema, puede leer los datos a través de CURL de la siguiente manera:
<?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);
?>
Por cierto, si solo desea los datos JSON en bruto, simplemente elimine el json_decode
.
No olvide: para obtener contenidos HTTPS, su extensión OPENSSL debe estar habilitada en su php.ini. ( como obtener contenidos de uso del sitio HTTPS )
Use file_get_contents
en combinación con json_decode
y echo
.
$url = "https://chart.googleapis....";
$json = file_get_contents($url);
Ahora puede hacer eco de la variable $ json, si solo desea mostrar la salida, o puede decodificarla y hacer algo con ella, así:
$data = json_decode($json);
var_dump($data);