получить JSON с помощью PHP - PullRequest
21 голосов
/ 20 января 2010

Мне нужно получить данные 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 ;

*/

?>

Ответы [ 3 ]

60 голосов
/ 20 января 2010

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

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

14 голосов
/ 20 января 2010

Взгляните на 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.ini включен PHP Curl. Если вы хотите использовать fopen, параметр allow_url_fopen должен быть включен в вашем php.ini. Проверьте phpinfo () для всех настроек.

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

1 голос
/ 12 декабря 2015

Старый вопрос, но по-прежнему один из самых популярных в 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 при ошибке).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...