- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 实现中文字符串截取无乱码的方法
小伙伴们大家好,使用substr()截取中文字符乱码的问题怎么解决呢?看下面的方法: 方法一:使用php内置函数mb_substr();mb_substr( $str, $start, $length, $encoding ) $str,需要截断的字符串$start,截断开始处,起始处为0$length,要截取的字符数...
2017-08-30 21:12:43 5588
原创 PHP实现无限极分类转换为树结构
无限极分类转树结构权限功能或者是菜单功能,面对层级比较深,需要转换成树结构时,可通过以下方式实现。 /** * 把返回的数据集转换成Tree * @param array $list 要转换的数据集 * @param string $pk parent标记字段 * @param string $pid level标记字段 * @param string $child * @param int $root * @return ar
2021-09-23 12:00:58 319
原创 分析:数据库在高频读写情况写,如何保证数据库的安全稳定?
分析:数据库在高频读写情况写,如何保证数据库的安全稳定?解决方案:1.首先需要保证连接数和qps在应对最高峰时仍有余量;2.高频读:(1)对查询进行优化(2)对频繁操作要加缓存3.高频写:(1)增大数据库连接数和qps(2)累计n条数据,再进行写入一次(减少写时连接数)4.高频读写:以上第2和3条就是应对高频读写的解决办法选择一个合理的连接数和qps的云mysql优化查询...
2019-05-29 14:07:50 1942
原创 Swoole(二) PHP7&Swoole源码安装、玩转网络通信引擎、异步非堵塞IO场景
2.3HTTP服务(常用)$http = new swoole_http_server("0.0.0.0", 8811);$http->on('request', function ($request, $response) { var_dump($request->get); $response->header("Content-Type", "text...
2019-05-10 17:47:22 448
原创 解决linux环境失效问题
今天linux 的环境变量莫名的失效了你可以执行:export PATH=/bin:/usr/bin:PATH然后再执行ls应该就可以了,可将上面的语句添加到用户的profile里,以后登录即可生效:vi /.bashprofile添加exportPATH=/bin:/usr/bin:PATH然后再执行ls应该就可以了,可将上面的语句添加到用户的profile里,以后登录即可生效:...
2019-04-30 16:21:09 743
原创 模拟XSS跨站攻击
模拟XSS跨站攻击假设场景:在入库和出库时均不作处理时 会被利用触发2.php<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>XSS跨站攻击</title></head><body>...
2019-04-03 09:45:35 2115
原创 Swoole(一)从0编译LAMP环境扩展Swoole
从0编译LAMP环境扩展Swoole仅仅学习Swoole的话,编译php和swoole扩展就行。一、Apache的安装配置本文档所有操作基于centos6.9下面是官方文档的要求,必须安装APR、APR-Util、PCRE,gcc-c++等包,文档URL地址http://httpd.apache.org/docs/2.4/install.html。Apache相关软件包下载地址:http...
2019-04-02 10:16:19 290
原创 Kafka日记(七)Kafka 客户端常用命令
Kafka常用命令//创建topicbin/kafka-topics.sh --create --zookeeper 192.168.0.3:2181 --topic test --replication-factor 3 --partitions 3//生产者生产消息bin/kafka-console-producer.sh --borker-list 192.168.0.3:9092 ...
2019-03-26 16:46:40 564
原创 Kafka日记(六)多节点集群
前几篇日记中,都没有包含服务器集群方面的内容。本篇打算围绕如何做一个分布式Kafka集群,具体 有时间更新!前提是准备三台虚拟机(我的是centos6.9)192.168.0.3,192.168.0.4,192.168.0.5开始操作(关于zookeeper kafka rdkafka等安装编译此处省略,前篇文章中有,只讲解配置)1.zookeeper三台服务器均如下配置# The n...
2019-03-26 16:38:38 825
原创 Kafka日记(五)RdKafka文档翻译
RdKafka文档翻译出于使用 , 特做简单翻译 ,仅做参考。https://arnaud-lb.github.io/php-rdkafka/phpdoc/book.rdkafka.html函数string rd_kafka_err2str ( integer $err ) 将rdkafka错误代码转换为字符串integer rd_kafka_errno2err ( integer $...
2019-03-26 15:56:41 6835
原创 Kafka日记(四) 实战PHP
本篇讲解如何使用PHP扩展(用了swoole)简单使用,自己可以再封装一下。使用api时,$conf->set(‘enable.auto.commit’, ‘false’),可以关闭自动提交,进行手动的提交,开启自动提交。php swooleProcess.php 使用swoole创建进程开启消费,判断topic的分区数创建进程开始消费topic不存在会自动创建 创建的分区和副本数量...
2019-03-22 17:29:56 1512
原创 Kafka日记(三)支持PHP扩展
配置环境选择合适版本的jdk --> jdk是为了支撑zookeeperhttps://www.oracle.com/technetwork/cn/java/archive-139210-zhs.html选择1.8以上版本cd /usr/local/srcwget 版本下载地址tar -zxf jdk-8u60-linux-x64.tar.gz 解压mkdir /otp/jdk...
2019-03-22 13:57:04 330
原创 Kafka日记(二)Kafka的安装和使用
##kafka安装和启动****kafka的背景知识已经讲了很多了,让我们现在开始实践吧,假设你现在没有Kafka和ZooKeeper环境。此篇摘自http://orchome.com,更多资料可以访问查看。Step 1: 下载代码下载1.1.0版本并且解压它。> tar -xzf kafka_2.11-1.1.0.tgz> cd kafka_2.11-1.1.0Ste...
2019-03-22 10:19:15 211
原创 Kafka日记(一)Kafka概念
由于工作需要研究Kafka,在网上搜索了许久,关于PHP+Kafka的使用偏向于过多重复华,在实际的使用中并没有解决的我的问题。特此记录,以供学习者少走弯路。
2019-03-22 09:22:17 374
原创 php中instanceof和is_a()
@instanceof和is_a()instanceof用于确定一个 PHP 变量是否属于某一类 class 的实例,对于class的类型大概分为:1.正常类class MyClass{}class NotMyClass{}$a = new MyClass;var_dump($a instanceof MyClass);var_dump($a instanceof No...
2019-01-21 14:58:03 579
原创 使用git同步本地和线上环境代码
在工作的过程中难免会遇到需要将代码和服务器端频繁同步,使用git可以快速 实现!由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。第1步:创建SSH Key。在windows下查看[c盘-&amp;gt;用户-&amp;gt;自己的用户名-&amp;gt;.ssh]下是否有id_rsa、id_rsa.pub文件,如果没...
2018-12-17 09:11:09 3791
转载 JS date获取时间相关
var myDate = new Date();//获取系统当前时间myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1970-????)myDate.getMonth(); //获取当前月份(0-11,0代表1月)myDate.getDate(); //获取当前日(1-31)myDate.getDay()...
2018-09-10 15:09:48 240
原创 thinkphp5.0模板讲解(二)
6.使用函数默认值//我们可以给变量输出提供默认值,例如:{$user.nickname|default="这家伙很懒,什么也没留下"}//对系统变量依然可以支持默认值输出,例如:{$Think.get.name|default="名称为空"}//默认值和函数可以同时使用,例如:{$Think.get.name|getName|default="名称为空"}7.使用运...
2018-08-11 19:42:55 870
原创 thinkphp5.0模板讲解(一)
1.模板文件模板文件定义规则视图目录/控制器名(小写)/操作名(小写)+模板后缀 默认的视图目录是 view 目录 , 默认的视图文件后缀是 .html。模板渲染规则模板渲染使用\think\View类的fetch方法,渲染规则是 模块@控制器/操作代码示例$view = new \think\View();return $view-&amp;gt;fetch();//...
2018-08-10 17:35:10 1238
转载 CSS中可以和不可以继承的属性
一、无继承性的属性 1、display:规定元素应该生成的框的类型 2、文本属性: vertical-align:垂直文本对齐 text-decoration:规定添加到文本的装饰 text-shadow:文本阴影效果 white-space:空白符的处理 unicode-bidi:设置文本的方向 3、盒子模型的属性:width、height、margin 、margin-top、...
2018-05-28 08:57:57 209
转载 块级元素与行内元素
块级元素:div , p , form, ul, li , ol, dl, form, address, fieldset, hr, menu, table 行内元素:span, strong, em, br, img , input, label, select, textarea, cite, 内联元素(inline elemen...
2018-05-25 15:23:18 132
原创 php.ini关于上传文件的大小及时间限制解决方案
在php.ini配置文件中修改如下参数:关于修改文件大小: upload_max_filesize 2M 限制PHP处理上传文件的最大值,此值必须小于post_max_size值 memory_limit 8M 设置脚本可以分配的最大内存量,防止失控的脚本独占服务器内存 post_max_size 8M 限制通过POST方法可以接受的信息最大量关于修改执行时间: max_exe...
2018-05-18 14:24:22 5107
转载 dede文件目录介绍
dedecms目录结构:/a:栏目静态页默认生成目录。为利于SEO优化,可以将文件指定到根目录。 /data:数据存放目录。Backupdata为数据库备份目录,网站迁移时需拷入。 /dede:默认的站点后台管理目录。为网站安全,建议更改名称 /image:系统图片存放目录。 /include:核心类库文件存放目录。系统目录,一般都是全局函数、类处理文件、标签源码等一些保持系统正常运行...
2018-05-14 17:50:36 3007
原创 dede 5.7 入口文件解读
<?php// __FILE__ 文件的完整路径和文件名 D:\phpStudy\WWW\hospital\local.mtpcwh.com\index.php// dirname() 函数返回路径中的目录部分。dirname(__FILE__) D:\phpStudy\WWW\hospital\local.mtpcwh.comif(!file_exists(dirname(__F...
2018-05-14 17:35:58 1132
原创 htmlentities()和htmlspecialchars()概要
** 永远永远不要相信用户提交的数据,要过滤! ****htmlentities()和htmlspecialchars()默认时都对单引号不起作用,只需要设置第二个参数为ENT_QUOTES即可。//可以使用get_html_translation_table()函数返回 htmlentities() 和 htmlspecialchars() 函数使用的翻译表。get_html_translati
2017-10-26 11:26:28 320
原创 tp5异步上传图片到七牛云,就是那么简单
1. 一个异步上传的插件uploadify 在html中引入uploadify的js和css文件。 tp5中如 html如下:uploadify.css" />{load href="__STATIC__/admin/uploadify/jquery.uploadify.min.js"} 缩略图:
2017-10-26 00:01:03 3908
原创 PHP数据入库优化-仿XSS攻击之一二
1.XSS概念 全称跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(CSS,Cascading Style Sheets)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 2.在数据入库的时候为了防止XSS攻击,我
2017-09-09 15:14:21 387
原创 PHP的函数基础知识
1、函数的声明function 函数名([参数1,参数2...]){函数体;return 返回值;}2、使用双层for循环输出表格function table(){ echo ""; echo "通过函数输出表格"; for($out=0;$out<10;$out++){ $bgcolor = $out%2 == 0 ? "#FFFFFF" : "#D
2017-09-05 13:44:49 734
原创 PHP正则表达式详解
概述正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语言基本上都有正则表达式,如JavaScript、java等。其实,只有了解一种语言的正则使用,其他语言的正则使用起来,就相对简单些。文本主要围绕解决下面问题展开。有哪些常用的转义字符什么是限定符与定位符什么是单词定位符特殊字符有哪些什么是逆向引用以及怎样使用逆向引用匹配模
2017-09-04 10:33:54 249
原创 PHP中strlen()与mb_strlen()解析
strlen()和mb_strlen()都是用于获取字符串长度,其中strlen()只针对单字节编码字符,也就是说它计算的是字符串的总字节数,如果是多字节编码,如gbk和utf8,使用strlen()计算的不是字符的个数,是字符串的总字节数,可以使用mb_strlen()获取其字符个数,使用mb_strlen()要注意两点,一是要开启mbstring扩展,二是要指定字符集。int st
2017-08-30 19:59:55 5155
原创 $_SERVER中QUERY_STRING和REQUEST_URI区别
实例:1,http://localhost/aaa/(打开aaa中的index.php)结果:$_SERVER['QUERY_STRING'] = "";$_SERVER['REQUEST_URI']= "/aaa/";$_SERVER['SCRIPT_NAME']= "/aaa/index.php";$_SERVER['PHP_SELF']
2017-08-04 14:16:44 1024
原创 强迫自己养成记录的习惯
从2014年9月15号进校到2017年1月5号,五个学期两年半的时间就这样匆匆流过,有时就会觉得记忆仿佛在昨天,而我还是那个大一新生。然而,那只是错觉罢了。回忆起自己的学习生活,并无太大的进步。作为计算机专业的学生,我本应该坚持每天写代码,不管自己的多忙,思考与练习是宝贵的财富。我却像丧尸一样匆匆度过了两年半,没有太多的坚持,用自己的随性消磨时光。讨厌本应该,不该说本应该,没有本应该,我们
2017-01-05 22:09:02 240
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人