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开发终不免要压缩成zip然后弹出下载,当然用php本身提供的也能操作,这里有一个zip.class.php类,操作起来更容易,可以少写很多代码;

下载地址下载
里面的zip目录下
这里还有其他非常多的php常用类

$zip = new Zip();
$zip->setComment(mb_convert_encoding("中文\n",'gb2312','utf-8') . date('Y-m-d H:i'));//压缩文档的说明

$zip->addFile("123内容", "1.txt");//添加文件到压缩文件

$zip->addDirectoryContent("C:/addons/weui","weui/");//前面是要添加文件目录,后面是压缩文件目录,这个是添加目录压缩

$zip->sendZip("1.zip");//弹出压缩

以上介绍的是压缩
解压缩里面也有,可以自行了解

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

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

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

表单input一般用来做文本框或文本域,如果页面想显示内容并且点击可以编辑,可借助div的属性contenteditable="true"就能可编辑.

如果只是设置这个属性,虽然可以编辑,但是接收不到内容这时候就需要添加表单隐藏域

<input type="hidden" name="ftitle" />

在提交的时候需要通过js来把div内容传到这个隐藏域.

笔者在最近做一款表单调查就用到了这个,发现真的很好用,可容易实现,点击可编辑.

jquery大家都很熟悉,以前使用的方法有click,live,delegate等等但是在最新1.8+,很多方法不支持了,而且使用新的方法on可以绑定未来元素,简单说就是通过ajax加载进来的或者js添加进来的也支持.

$(document).on('click','#t',function(){
$(this).val();
});

document也可以是选择器,如class,id等

typecho是一款很小的php博客,相比较于wordpress来说简单够用了,支持markdown语法,但是原版功能还是比较弱的.本人在此基础上新增了以下功能,插件来自网络.

  • 新增浏览次数和排行榜插件.
  • 新增标签云,彩色的字体
  • 字体改为微软雅黑默认
  • 导航新增分类显示
  • 设置里新增是否开启留言功能,此处是全局设置,设置后与留言有关的都不会显示,因为前段时间备案时候要求不允许评论,这样就不用改代码
  • 归档新增文章数量按月分
  • 后台标签改为选择
  • 新增设置处填写备案号

基本上就是以上修改.欢迎下载 https://gitee.com/yoby/typecho