作者:matrix
发布时间:2014 年 9 月 4 日
分类:零零星星
php的json_decode函数用来解析json数据很方便,但是有时候却解析不了。
究其原因找到如下可能性:
1.键名没有用双引号括起来
['name':n,'age',a]
[name:n,age,a]
这两个都不能解析
2.出现多余逗号
['name':n,'age',a,]
###3.有些转义不支持
数据中出现\x26这样的会失败,有时候\'都无法解析。
用stripslashes()去掉转义即可!
4.json不支持gbk编码
iconv('GBK', 'UTF-8', $json_data);//使用iconv()函数将GBK转到UTF-8编码
json数据解析前用检测工具测试一下较好:http://www.bejson.com/
150515添加
/*
格式化错误的json数据,使其能被json_decode()解析
不支持健名有中文、引号、花括号、冒号
不支持健指有冒号
*/
function format_ErrorJson($data,$quotes_key=false)
{
$con = str_replace('\'','"',$data);//替换单引号为双引号
$con = str_replace(array('\\"'),array('<|YH|>'),$con);//替换
$con = preg_replace('/(\w+):[ {]?((?<YinHao>"?).*?\k<YinHao>[,}]?)/is', '"$1": $2',$con );//若键名没有双引号则添加
if($quotes_key)
{
$con = preg_replace('/("\w+"): ?([^"\s]+)([,}])[\s]?/is', '$1: "$2"$3',$con );//给键值添加双引号
}
$con = str_replace(array('<|YH|>'),array('\\"'),$con);//还原替换
return $con;
}
参考:http://bbs.csdn.net/topics/390496037
http://chenwei.me/p/59.html
作者:matrix
发布时间:2014 年 8 月 31 日
分类:零零星星
放在jae的代码修改的时候使用git方便很多,由于没有接触过GIT,这里记录一些。
以win8-64bit为例:
安装工具
msysGit[Git-1.9.4-preview20140611]
TortoiseGit-64bit
TortoiseGit-64bit中文语言包
汉化步骤
安装完这仨文件后重启。
右击资源管理器任意空白位置,选择 TortoiseGit -> Settings
从右侧语言设置中,选择简体中文。
参考:http://www.freehao123.com/jae-git/
作者:matrix
发布时间:2014 年 5 月 12 日
分类:零零星星
学校用的是正方教务系统,这玩意做的太恶心了。
用php模拟登录前进行fiddler软件抓包。
每个学校的正方教务系统略有不同,这里仅仅是个样本。
根据抓包结果找到提交所需的post数据
__VIEWSTATE=内容&tbYHM=内容&tbPSW=内容&ddlSF=%D1%A7%C9%FA&imgDL.x=39&imgDL.y=13
说明:第一个内容是登录页面里找到的,第二、三个内容是用户名和密码
判断是否登录成功
成功登录后页面会302跳转到/xsmainfs.aspx?xh=XXX的URL
php代码参考:
<?php
$url = '';//正方教务系统登录地址
$ID = '';
$PA = '';
$cookieid = Get_SessionId($url);//获取登录页面的会话ID
/*
is_login()函数判断是否登录成功
*/
function is_login()
{
global $url,$ID,$PA,$cookieid;
preg_match('#value="([^"]+)"#', curl_get($url), $vi);
$p = '__VIEWSTATE=' . urlencode($vi[1]) . '&tbYHM=' . $ID . '&tbPSW=' . $PA . '&ddlSF=%D1%A7%C9%FA&imgDL.x=39&imgDL.y=13'; //默认学生
$co = curl_get($url, $p, 0, 0, 0, array('Cookie: ASP.NET_SessionId=' . $cookieid));
//curl_get('地址/xsleft.aspx?flag=grxx', array('Cookie: ASP.NET_SessionId=' . $cookieid)); //获取基本信息以前必须访问这个地址
return strpos($co, "/xsmainfs.aspx?xh=" . $ID)? true : false ;
}
function curl_get($url, $add_arry_header = 0)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16'));
if ($add_arry_header)
{
curl_setopt($ch, CURLOPT_HTTPHEADER, $add_arry_header);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$get_url = curl_exec($ch);
curl_close($ch);
return $get_url;
}
function Get_SessionId($u) // 获取aspx的会话ID
{
$a = get_headers($u);
$a = str_replace(array(';', ':'), '&', $a[6]);
parse_str($a, $aa);
return $aa['ASP_NET_SessionId'] ;
}
?>
说明:代码不完全可用,只是参考,记录。
ps:
正方教务系统的登录地址还有default4.aspx的精简登录框,模拟这个的话应该更简单。
作者:matrix
发布时间:2014 年 5 月 5 日
分类:兼容并蓄 零零星星
Android端登陆Google账号提示:无法登录,与Google服务器通信时出现问题 请稍后重试。
以前用的时候都是好好的,不知道怎么搞的就无法登陆Google账号。
网上一查才晓得是天朝的大号防火墙导致的,还好找到有软件解决。
Hosts修改工具 SmartHosts
网盘备份:http://pan.baidu.com/s/1kTyvlwb
说明:
安装时要授予ROOT权限
选择第一项,应用Smarthosts
选择Android & Google Serivices和原始hosts文件内容,可根据不同情况选择
保存后回到主页面,选择切换hosts文件 -->> 切换至SmartHosts版本hosts文件, 保存后再重启手机就可以正常使用谷歌服务了。
测试截图来自MI2S.
版本信息 阅读剩余部分 »
作者:matrix
发布时间:2014 年 4 月 29 日
分类:零零星星
用win8系统时遇到的这个问题,无线网正常使用,插上网线后不管怎么弄都启用不了。重启或者注销帐户后又可以正常使用了,不知为何。
现在终于搞定,是驱动的问题。
重新安装以太网卡的驱动就解决了。
买电脑(Asus x54H)时送的dvd光盘里面有驱动程序,找到后安装驱动。
这里顺带打包(Asus x54H笔记本适用):
http://pan.baidu.com/s/1c0eRKQG
我用的是这个办法,但不一定适用于你。多试试~
参考:http://zhidao.baidu.com/question/1509457627485214900.html
作者:matrix
发布时间:2014 年 4 月 23 日
分类:兼容并蓄 零零星星
下面内容来自 php开发实战宝典 附录A: php编码规则
A.1 PHP File文件格式
A.1.1 常规
对于只包含PHP代码的文件,结束标志("?>")是不允许存在的,否则会导致文件末尾被意外地注入空白并显示输出。
由__HALT_COMPILER()允许的任意的二进制代码的内容被Zend Framework PHP文件或由它们产生的文件禁止。这个功能只对特殊的安装脚本开放。
A.1.2 缩进
使用4个空格的缩进,而不使用制表符TAB。
阅读剩余部分 »
作者:matrix
发布时间:2014 年 4 月 19 日
分类:零零星星
地址:http://ilovefile.com/
平时为了转换某个文档可能需要安装软件,有这种web工具也就没必要了,很方便的。
ILoveFile 支持且可互相转换的格式包括:
图片:JPG、PNG、BMP、EPS、GIF、ICO、TIF、PCX、TGA、WBMP
文档:PDF、TXT、RTF、ODT、WPD、XLS、XLSX、ODS、DOC、DOCX、CSV
音频:M4A、AIFF、FLAC、MP3、OGG、WAV
简单说明:
打开网站选择文件类型,从左至右分别为图片、文档、音频。
点击Select files选择需要转换的文件。
Convert all JPG files to 选择转换后的文件格式。
点击Convert this file开始转换。
ilovefile会显示上传、转换的进度
完成后点击 Download file 即可下载。
File available time表示文件删除的倒计时。
完成后记的评分吧~ 非常不错!
- 1
... - 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
... - 23