Подтвердить что ты не робот

Получить json, используя php

Мне нужно получить данные json, http://vortaro.us.to/ajax/epo/eng/ + 'word' + "/? callback =?" рабочий пример (недостаточно репутации)

Я знаю, как это сделать в javascript, но мне нужен мой php файл для получения этих данных. Он должен быть серверным. Спасибо, что я новичок. Я весь день пытался понять это. fopen и fread не работают,

<?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 ;

*/

?>
4b9b3361

Ответ 1

file_get_contents() можно использовать по URL-адресу. Простой и удобный способ обработки загрузки http-страницы.

Для этого вы можете использовать json_decode() для анализа данных во что-то полезное.

Ответ 2

Посмотрите PHP Curl.

В этом примере вы можете получить всю информацию.

<?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);
?>

Убедитесь, что PHP Curl включен в вашем php.ini. Если вы хотите использовать fopen, параметр allow_url_fopen должен быть 'ON' в вашем php.ini. Выполните проверку phpinfo() для всех настроек.

С PHP 5.2.0 функция json_decode является частью ядра.

Ответ 3

Старый вопрос, но все же один из лучших хитов в Google, так что вот мой вклад в ответ на @DrDol.

<?
    $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);
?>

Обратите внимание на пользователя CURLOPT_RETURNTRANSFER, который отправляет ответ в возвращаемое значение (и возвращает false при ошибке).