PHP file_get_contents возвращает false

Может быть, я сидел здесь слишком долго, глядя на это, но ПОЧЕМУ было бы file_get_contents возвращать false здесь, я вырезал и вставлял URL-адрес, и он отлично работает?

$url = "http://jobs.github.com/positions.json?search=" . $as_any . "&location=" . $location; // URL contains http://jobs.github.com/positions.json?search=Project Manager&location=London var_dump($url); $json = file_get_contents($url); var_dump($json); $results = json_decode($json, TRUE); var_dump($results); exit; 

благодаря

Марк

РЕДАКТИРОВАТЬ:

Я проверил allow_url_fopen и его окончательно.

Попробуй это:

 $query = http_build_query(array('search'=>$as_any, 'location'=>$location)); $url = "http://jobs.github.com/positions.json?" . $query; 

Проблема в том, что вы не кодировали URL-адрес поискового термина, который содержит пробел. Запрос возвращал 400 ошибок с сервера, которые вы заметили бы, если бы были включены отчеты об ошибках.

Возможно, вам потребуется включить allow_url_fopen в php.ini

http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen

Из документации:

Этот параметр позволяет оберткам fopen, поддерживающим URL-адреса, разрешать доступ к объектам URL-типа, таким как файлы.

Ваш сервер может препятствовать открытию файла, расположенного по URL-адресу, с помощью file_get_contents.

Вероятно, allow_url_fopen в вашем php.ini: http://php.net/manual/en/filesystem.configuration.php

Нужно разрешаться.

Иногда, если file_get_contents возвращает false (не найден), вы должны увидеть, закодирован ли URL-адрес.

пример:

http://test.net/демо/

Должно быть:

https://test.net/%D0%B4%D0%B5%D0%BC%D0%BE/