php开发

[置顶] Aiiphp框架测试版发布,欢迎测试!

[置顶] Linux常用运维命令和linux常用管理操作命令(整理)

[置顶] Linux/Window服务器安全配置等常用软件下载列表

json_decode 解析非标准json数据返回值为空 Null解决方法

json_decode 解析非标准json数据返回值为空 Null解决方法


<?php
$html= json数据 
var_dump(json_decode($html,true)); //return null
var_dump(json_last_error()); // return 4
?>
json_last_error错误msg对照表:
0 = JSON_ERROR_NONE
1 = JSON_ERROR_DEPTH
2 = JSON_ERROR_STATE_MISMATCH
3 = JSON_ERROR_CTRL_CHAR
4 = JSON_ERROR_SYNTAX

5 = JSON_ERROR_UTF8

大概意思就是语法错误,主要可能是接口方,获取获取的数据非标准或者含有非utf-8字符等

过滤方法

<?php
$html="json数据";
$html=preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $html);
var_dump(json_decode($html, true));
var_dump(json_last_error());
?>

Thinkphp3.2.3设置MySql主从读写分离后,如何方便的调用主库查询

1、thinkphp/Library/Think/Model.class.php
62行:


protected $methods          =   array('strict','order','alias','having',
'group','lock','distinct','auto','filter','validate','result',
'token','index',’force’,’master’);  //1、添加,’master’

2、ThinkPHP/Library/Think/Db/Driver.class.php

» 阅读全文

关键词: 读写分离 , thinkphp , mysql主从

Thinkphp5控制器名过滤不严导致getshell的解决方法

Thinkphp5控制器名过滤不严导致getshell,网上很多人放出getshell脚本。

修复方法:

5.0版本
在think\App类的module方法的获取控制器的代码后面加上

if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);
}
5.1版本
在think\route\dispatch\Url类的parseUrl方法,解析控制器后加上

if ($controller && !preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);
}
自行增加相关代码。(5.0版本代码 | 5.1版本代码


Centos下使用MySQL Sniffer实时监控审计Mysql语句

Centos下使用MySQL Sniffer实时监控审计Mysql语句

先安装依赖

yum install glib2-devel libpcap-devel libnet-devel
下载地址:


https://github.com/Qihoo360/mysql-sniffer
安装:


cd mysql-sniffer
mkdir proj
cd proj


» 阅读全文

PHP扫描php后门、WebShell、一句话后门等

PHP扫描php后门、WebShell、一句话后门等


<!DOCTYPE html>
<html>
<head>
        <meta charset='gb2312'>
        <title>PHP web shell scan</title>
</head>
<body>

</body>

<?php 


» 阅读全文

PHP代码的方式合并多个JS和CSS文件

PHP代码的方式合并多个JS和CSS文件

Html代码部分:

<link rel="stylesheet" type="text/CSS" href="cssmin.PHP?get=base,style1,style2,global&path=css/&v=20131023" />
<script type="text/javascript" src="jsmin.php?get=jquery-1.6.4.min.js,minjquery.js,minjquery.ui.js,test.js,global.js&path=js/&v=20131023"></script>



//输出JS


» 阅读全文

php实现字符串随机位置插入随机字符串

php实现字符串随机位置插入随机字符串

<?php
header("Content-Type:text/html;charset=utf-8");
$ad=["↑","↓","←","→","↖","↗","↘","↙","↔","↕","➻","➼","➽","➸","➳","➺","➻","➴","➵","➶","➷","➹","▶","►","▷","◁"];
$times = 3; //关键字出现频率
$str = "阿克苏绝对法拉克世界疯了阿拉山口地方就看到las决哦iasfls.sdmflaskdf洛杉矶的法律卡死噢iuoi020990拉开时间的发生了疯狂";
$strlen = mb_strlen($str, "utf-8");
//随机生成插入位置,根据$times决定插入频率
for ( $i = 0; $i < $times; $i ++ ) {
    $arr[] = mt_rand(0, $strlen);
}
$arr = array_unique($arr); //过滤数组重复元素
sort($arr); //对数组重新排序,按照值由小到大
//开始替换
$i = 0;
$str_new = "";
foreach( $arr as $v ) {
    $keyword = $ad[rand(0,count($ad))];
    $str_new .= mb_substr($str, $i, $v - $i, "utf-8") . $keyword;
    $i = $v;
}
$str_new .= mb_substr($str, $i, $strlen - $i, "utf-8");
echo($str_new);

?>


php实现压缩裁剪png图片功能

php实现压缩裁剪png图片功能,代码很简单,直接贴代码了

<?php
namespace Home\Org;
/**
* 分享请保持网址。尊重别人劳动成果。谢谢。
* 图片压缩类:通过缩放来压缩。如果要保持源图比例,把参数$percent保持为1即可。
* 即使原比例压缩,也可大幅度缩小。数码相机4M图片。也可以缩为700KB左右。如果缩小比例,则体积会更小。
* 结果:可保存、可直接显示。
*/
class imgcompress{
       private $src;


» 阅读全文

Total: 561234567Next ›