php开发

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

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

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

php对数组的字符串长度进行排序

php对数组的字符串长度进行排序,主要是用到 usort 自定义的排序:

$file = file('zong.txt');
usort($file,  'sortByLen');
$handle = fopen('zong2.txt', 'a');
foreach ($file as $v){
    fwrite($handle, $v);
}
fclose($handle);
function sortByLen($a, $b) {
    if (strlen($a) == strlen($b)) {
        return 0;
    } else {
        return (strlen($a) > strlen($b)) ? 1 : -1;
    }
}

关键词: 字符串排序

php读取写入更新删除access,操作access数据库类

N久没更新博客了,随便搞点东西保持更新。php读取写入更新删除access,操作access数据库类

<?php //读取mdb数据库例程
	$ac = new Access("C:/wamp/www/lyjq/data.mdb","","");
	$a = $ac->getinfo("jingdian","id","1",6);
	print_r($a);

    class Access//Access数据库操作类


» 阅读全文

关键词: access数据库类

利用PHPWord生成你想要word文档 php生成word文档的代码

先安装:

composer require phpoffice/phpword
然后加载,并且实例化,并新增一个空白页:
require 'vendor/autoload.php';
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();

» 阅读全文

关键词: word文档 , phpword

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 


» 阅读全文