分类 微擎教程 下的文章

QQ音乐非常不错,2018年qq音乐修改了网站搜索,以前的接口已经不能用了,笔者在此做了一个新的接口,可以搜索到音乐的真正播放地址,描述,以及相册封面等信息,可以用来做音乐相关应用.接口代码如下,只需要歌曲关键字即可搜索10条数据.

function somusic($keyword="东风破") {//搜索QQ音乐
        $time = time()*1000;
$url = "http://i.y.qq.com/s.music/fcgi-bin/search_for_qq_cp?g_tk=5381&uin=0&format=jsonp&inCharset=utf-8&outCharset=utf-8&notice=0&platform=h5&needNewCode=1&w=".urlencode($keyword)."&zhidaqu=1&catZhida=1&t=0&flag=1&ie=utf-8&sem=1&aggr=0&perpage=20&n=10&p=1&remoteplace=txt.mqq.all&_=".$time."&jsonpCallback=jsonp4";
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data  =  curl_exec($ch);
curl_close($ch);

$rs=substr($data,7,strlen($data)-8);
$list = json_decode($rs,1);

if(count($list['data']['song']['list'])>0){
$arr = array();
foreach($list['data']['song']['list']  as  $v){
$arr[] = array(
'id'=>$v["songid"],
"songname"=>$v["songname"],
"desc"=>$v["singer"][0]['name']."---".$v["songname"],
'musicurl'=>"http://ws.stream.qqmusic.qq.com/C100".$v['songmid'].".m4a?fromtag=38",
'pic'=>"http://y.gtimg.cn/music/photo_new/T002R150x150M000".$v['albummid'].".jpg?max_age=2592000"
);

}
}else    {
$arr = array();
}


if(count($arr)>0){

$str = $arr;

}else{
$str = "未找到相关音乐";

}
return $str;
    }

请不要做违法应用,支持正版音乐

win10 系统,突然出现github上提交不了了,使用的TortoiseGit2.1版本,出现错误提示"Couldn't agree a key algorithm",网上搜索说是putty版本太低,所以就尝试更新到0.7,依然不行.但是国内的码云是可以的,并不报错.

最后重装也不行,包括重置密钥,最后解决办法,是更新TortoiseGit到2.6版本,问题随即解决,竟然是版本太低了,看来是github网站升级了相关东西.

git还是喜欢图形工具TortoiseGit,虽说命令更高大上,但是图形工具也有自己优势.

在大段字符串,或者生成php文件或其他文件时候,定界符非常好用,定界符有以下特点,定界符又叫heredoc技术,是必须掌握的.

  • 以<<<EOF开始标记开始后面不能有空格换行,以EOF结束标记,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号
  • 开始标记和开始标记相同,比如常用大写的EOT、EOD、EOF来表示,但是不只限于那几个,只要保证开始标记和结束标记不在正文中出现即可
  • 位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在heredoc中,变量不需要用连接符.或,来拼接
  • 里面支持$var这样的变量解析,但是遇到需要拼接字符串可以用{$var}qq,也就是变量加上{}
  • 如果想输出$本身不解析,可以 \$var这样$var变量就不会解析.

掌握以上几点,基本上定界符你就非常熟悉了如果想控制输出内容,可以在定界符外面处理好,然后再连接到里面