get json using php

I need to get the json data from,
http://vortaro.us.to/ajax/epo/eng/ + ‘word’+ “/?callback=?”
working example (not enough reputation)

I know how to do it in javascript, But I need my php file to get this data, It needs to be server side, Thanks I’m new I have spent all day trying to figure this out. fopen and fread isn’t working,

<?php
$vorto = $_GET['vorto']; // Get the Word from Outer Space and Search for it!

if (isset($vorto))
    {
    echo $vorto;
    } else {
        $Help = "No Vorto -> add ?vorto=TheWordYouWant to the end of this website";
        echo $Help;
    }
$url1 = "http://vortaro.us.to/ajax/epo/eng/"; 
$url2 = "/?callback=?";
$finalurl= $url1 . $vorto . $url2;

/*
PLEASE HELP

$v1 = fopen($finalurl ,"r");
echo $v1;


$frv1 = fread($v1,filesize($v1));
echo $frv1 ;

*/

?>

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

file_get_contents() can be used on a URL. A simple and convenient way to handle http page download.

That done, you can use json_decode() to parse the data into something useful.

Solution 2

Take a look at PHP Curl.

With this example you are able to the all the informations.

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Make sure that PHP Curl is enables in your php.ini. If you want to use fopen the setting allow_url_fopen must be ‘ON’ in your php.ini. Checkout phpinfo() for all the settings.

Since PHP 5.2.0 the function json_decode is part of the core.

Solution 3

Old question, but still one of the top hits in Google, so here is my contribution on top of @DrDol’s answer.

<?
    $url = "http://www.example.com/api/v1/endpoint";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

    $data = json_decode(curl_exec($ch));                

    curl_close($ch);
?>

Note the user of the CURLOPT_RETURNTRANSFER which sends the response into the return value (and returns false on fail).

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply