@leopardo11

Почему не могу получить информацию со стороннего сайта по ссылке?

$result  = json_decode(file_get_contents("http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v={$id['v']}&format=json"));

Этот код возвращает данные почти на всех сайтах в которых я пробовал, кроме одного, там я получаю null,

С чем это может быть связано? Может хостинг провайдер блокирует получение инфы таким образом?
$id['v'] это ID видео на ютубе.
  • Вопрос задан
  • 188 просмотров
Решения вопроса 1
настройки сервера. Выведите ошибки.

например:
error_reporting(E_ALL^E_NOTICE);
ini_set("display_errors",1);

на некоторых серверах запрещен запрос к удаленным серверам, тогда юзайте curl
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Вот наглядная разница между программистом и жертвой видеоуроков.
Потребитель видеопродукции, умеющий только копипастить говнокод, но не умеющий думать, может только пойти на тостер и жалобно проблеять "Объясниииите мне, почему мой код на моем сервере не работаеееет".

А программист понимает, что выяснить "с чем это может быть связано" может только он сам. А для этого надо писать не говнокод в одну строчку, а разделять операции между собой.
И проверять результат каждой.
Таким вот нехитрым способом можно конкретно узнать, "с чем связана проблема".

У нас есть переменная $id['v'], про которую мы думаем, что в ней есть какой-то идентификатор. Но проверить, есть ли там на самом деле что-то в этой переменной, должен дядя с тостера.
У нас есть ключевой оператор file_get_contents(), который и должен возвращать какую-то инфу. Но мы эту инфу не проверяем. Мы, программисты дагестана, делаем такой узки-узки код, в один строчька, чтобы низки-низки пасадка биль! Патамучто настаящи джигит.
Поэтому результат file_get_contents мы не проверяем а сразу запихиваем в json_decode, который и вернет null, если ему передать совсем не JSON. А если там не JSON, значит, наверное, надо глазками посмотреть - ЧТО вернула file_get_contents.

Но никто в видеокурсах не рассказал, что мало накопипастить говнокода, а надо еще и иногда проверять, что он возвращает
Ответ написан
ArsenBespalov
@ArsenBespalov
Сам себе разработчик
Вот уж действительно не знаю, почему вы не получаете данные, код правильный, все работает как надо, данные получаются.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы