Php中unserialize()函数返回的是bool(false)
来源:互联网 发布:省市区数据库sql 编辑:程序博客网 时间:2024/05/06 04:21
这种情况发生的原因有多种可能,最大的可能就是在序列化数据的时候的编码和反序列化时的编码不一样导致字符串的长度出现偏差。例如数据库编码latin1和UTF-8字符长度是不一样的。
解决方案:
自己从网上找的小函数来纠正序列化字符串中字符串长度的问题
Utf-8
function mb_unserialize($serial_str) {
$serial_str= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
$serial_str= str_replace("\r", "", $serial_str);
return unserialize($serial_str);
}
ASC
function asc_unserialize($serial_str) {
$serial_str=preg_replace('!s:(\d+):"(.*?)";!se','"s:".strlen("$2").":\"$2\";"',$serial_str);
$serial_str= str_replace("\r", "", $serial_str);
return unserialize($serial_str);
}
- Php中unserialize()函数返回的是bool(false)
- php unserialize 返回false的解决方法
- 长度问题:php函数unserialize数据返回false问题分析
- php函数unserialize数据返回false问题分析
- serialize和unserialize函数是序列化和反序列化PHP中数据的常用函数。
- PHP源码中unserialize函数引发的漏洞分析
- PHP源码中unserialize函数引发的漏洞分析
- PHP源码中unserialize函数引发的漏洞分析
- php中serialize()与unserialize()函数使用方法
- 回来bool的函数无return时返回true还是false
- 编制一个返回值为bool型的函数isPrimer(),用于判断参数是否为素数(是素数返回true,否则false),自编main函数用于测试
- PHP中各类型数据转换为bool型时为false的总结
- js中 [] ? true : false 的返回值为什么是true?
- javascript中模仿php的serialize和unserialize序列化函数
- php函数serialize()与unserialize()
- php函数serialize()与unserialize()
- php函数serialize()与unserialize()
- php函数serialize()与unserialize()
- Failover Connections for Data Guard Error with ORA-1033 [ID 461874.1]
- android 5大数据存储
- JSON入门与实战详解 —— JavaScript、Java与JSON互转
- 在sharepoint中找不到在AD中添加的组
- 揭开Wayland的面纱
- Php中unserialize()函数返回的是bool(false)
- Js打印
- vc error PRJ0019编译错误和std::cout输出重定向 .
- static final叫编译期常量,不需要初始化就能读取
- 可变参数宏
- Linux 下挂载硬盘的 方法
- 验证邮件地址是否存在(包含了更新和添加两种情况)
- mysql的dump导库命令
- JavaMelody 监控web服务器