Как вызвать URL-адрес JSON в php, который включает пробелы в запросе

Когда я делал xml-запрос на tmdb.org, я использовал этот

$movie_name="Dabangg 2"; $xml = simplexml_load_file("http://api.themoviedb.org/2.1/Movie.search/en/xml/accd3ddbbae37c0315fb5c8e19b815a5/"$movie_name""); 

и он работал!

Теперь мне нужно изменить URL-адрес, так как ответ JSON не xml

Я изменил его на

 <?php $movie_name="Dabangg 2"; $url="http://api.themoviedb.org/3/search/movie?api_key=accd3ddbbae37c0315fb5c8e19b815a5&query=$movie_name"; $json = file_get_contents($url); var_dump($json); ?> 

Но это не работает

Если вы ищете

 http://api.themoviedb.org/3/search/movie?api_key=accd3ddbbae37c0315fb5c8e19b815a5&query=Dabangg 2 

в браузере вы получите результаты.

 Warning: file_get_contents(http://api.themoviedb.org/3/search/movie?api_key=accd3ddbbae37c0315fb5c8e19b815a5&query=Dabangg 2) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 400 BAD_REQUEST in /home/wwww/public_html/test/movie.php on line3 

пожалуйста, помогите мне

Solutions Collecting From Web of "Как вызвать URL-адрес JSON в php, который включает пробелы в запросе"

Посмотрите на это: http://codular.com/curl-with-php

Попробовать Ниже код:

 <?php $movie_name="Dabangg 2"; $movie_name = urlencode($movie_name); $url="http://api.themoviedb.org/3/search/movie?api_key=accd3ddbbae37c0315fb5c8e19b815a5&query=$movie_name"; // Get cURL resource $curl = curl_init(); // Set some options - we are passing in a useragent too here curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $url, CURLOPT_USERAGENT => 'Codular Sample cURL Request' )); // Send the request & save response to $resp $resp = curl_exec($curl); // Close request to clear up some resources curl_close($curl); var_dump($resp); ?> 

Попробуйте

urlencode($movie_name);

Эта функция удобна при кодировании строки, которая будет использоваться в части запроса URL-адреса, в качестве удобного способа передачи переменных на следующую страницу.