目前,我正在尝试摆弄Deezer API,并遇到一个小问题,我正在尝试从这位艺术家那里收集内容。
XYLØ-没什么可说的
https://api.deezer.com/search/track?q=XYLØ - Nothing Left To Say
上面的页面以JSON格式显示内容,但是当我使用以下代码时。
$id = 'XYLØ - Nothing Left To Say';
$h = str_replace(' ', '+', $id);
$json_string = 'https://api.deezer.com/search/track?q='.$h;
$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata,true);
我在图像请求中得到一个空托盘。
$obj['data'][0]['album']['cover_medium']
关于如何使它正常工作的任何想法?
答案 0 :(得分:1)
使用PHP的内置函数来查询args,
//changed $h to $id (see below)
$json_string = 'https://api.deezer.com/search/track?q='.urlencode($id);
http://php.net/manual/en/function.urlencode.php
当编码要在URL的查询部分中使用的字符串时,此功能很方便,它是将变量传递到下一页的便捷方法。
您也可以删除这些内容(也可以将其删除):
$h = str_replace(' ', '+', $id);
因为urlencode做到了!!
作为奖励
您可以使用
http://php.net/manual/en/function.http-build-query.php
http_build_query —从提供的关联(或索引)数组生成URL编码的查询字符串。
要从数组构建整个查询字符串,我认为这对于阅读此文件的人可能有用...