- 博客(74)
- 收藏
- 关注
原创 如何利用PHPExcel实现数据导出成excel文件
场景介绍 : 将筛选出来的订单信息导出成excel文件。首先,我们先下载PHPExcel类库,将其解压到项目的相应文件夹下。然后我们将创建(导出)Excel数据表格的方法封装如下:/*** 创建(导出)Excel数据表格* @param array $list 要导出的数组格式的数据* @param string $filename ...
2019-04-01 15:15:29
675
翻译 solr solr7.4 连接MySQL数据库
目录 导入相关jar包 配置连接信息 将数据库导入到solr中 验证是否成功 创建一个Core,创建Core的方法之前已经很详细的讲解过了1.导入相关jar包 1.1、下载 mysql 驱动包:mysql-connector-java-x.x.x.jar,绝大部分jar包在maven仓库都能找到,mysql驱动包在maven仓库中的下载链接是:My...
2019-03-27 10:40:48
463
原创 MySQL Explain详解
在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略...
2019-03-21 11:14:19
97
原创 在MySQL中count(*)函数的优化
写这篇文章之前已经看过了很多数据库方面的优化内容,大部分都是加索引、使用事务、要什么select什么等等。然而,只是停留在阅读的层面上,很少有实践,因为没有遇到真实的项目,一切都是纸上谈兵。实践是检验真理的唯一标准,于是就想在数据库上测试一些性能优化的方案,比如索引之类的,但是不想使用假的数据,于是就想着能不能抓取网上的一些数据来作分析,后来自己通过PHP抓取了一些数据(这个博文即将补上),抓了大...
2019-03-21 11:08:32
2426
原创 浅谈CSRF攻击方式
http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CS...
2019-03-01 10:36:22
184
原创 jquery attr方法获取input的checked属性问题
问题:经常使用jQuery插件的attr方法获取checked属性值,获取的值的大小为未定义,此时可以用prop方法获取其真实值,下面介绍这两种方法的区别:1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase代码如下:<input type="checkbox" id="selectAll" onclick...
2019-02-27 14:20:04
710
原创 利用PHPExcel读取Excel的数据和导出数据到Excel
PHPExcel是一个PHP类库,用来帮助我们简单、高效实现从Excel读取Excel的数据和导出数据到Excel。也是我们日常开发中,经常会遇到的使用场景。比如有个客户信息表,要批量导出发给同事,我们就可以用PHPExcel来快速实现。同样,如果我们要利用短信群发接口去群发信息,PHPExcel可以快速导入客户信息,避免人工录入信息的麻烦。PHPExcel使用教程:首先下载PHPExce...
2019-02-26 14:09:54
1132
原创 jQuery的区别:$().click()和$(document).on('click','要选择的元素',function(){})的不同
jQuery的出现,大大简化了对dom的操作,但是如果不是仔细阅读api和进行操作,就不知道其中最大的优点和使用方式。就拿$().click()和$(document).on('click','要选择的元素',function(){})来说,都是点击事件的操作,但是也有不同的地方。 1. $(选择器).click(fn) 当选中的选择器被点击时触发回调函数fn。只针对与页面已存在的选...
2019-02-13 18:50:45
737
原创 laravel查看当前项目使用的版本
下面介绍两种方法,来查看项目中,所使用laravel的版本!方法1: 使用php artisan --version ,只要能看懂这个命令的人一定已经具有初步的Laravel知识。再介绍一种不需要命令,直接去文件中去查看的方法。方法2: 在项目文件中找vendor\laravel\framework\src\Illuminate\Foundation\Application.php,打...
2019-02-02 11:40:21
1952
1
原创 获取毫秒时间戳
最近在做一个智能家居项目的后台,需要实时上传用户对智能设备的配置信息到服务器,以便实现同步,因此对于时间的精确度要求比较高,最开始直接是用php的time()函数来获取时间戳,获取的时间精确到秒级别,如果客户端同时操作的话还是有可能产生冲突,因此建议将时间戳精度提高到毫秒级别,但是在php没有自带的函数能获取毫秒时间戳,但提供了一个microtime()函数,如果调用时不带可选参数,本函数以 "m...
2019-01-23 14:27:53
2394
原创 navicat 查看mysql日志
1. show global variables like '%general%';set global general_log = 'ON'set global general_log = 'OFF'
2019-01-22 18:57:43
9050
原创 MySQL数据库各个版本的区别
MySQL数据库MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,...
2019-01-15 09:26:48
3245
原创 windows安装redis
1.下载redis地址:https://github.com/MicrosoftArchive/redis/releases/tag/win-3.2.100进入redis目录,运行 redis-server redis.windows.conf设置win都是本地开机自动动服务redis-server --service-install redis.windows.conf2...
2019-01-09 11:30:19
165
原创 php+redis实现消息队列
参考:http://www.cnblogs.com/lisqiong/p/6039460.html参考:http://blog.csdn.net/shaobingj126/article/details/50585035消息队列:是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用...
2019-01-04 15:16:58
410
原创 生成token唯一标识(64位)
function GenerateToken(){ /* MD5散列(Unix 时间戳).截取(MD5散列(Unix 时间戳的微秒数))前28位.随机的4位数 */ return strtoupper(md5(time()).substr(md5(microtime(true)), 0, 26).'00'.rand(1000, 9999));}...
2018-12-18 17:47:44
5136
原创 给定年龄计算生日
function calcAge($birthday,$now) { if(!empty($birthday)){ if(!empty($now)) { $now = strtotime($now); }else{ $now = time(); ...
2018-11-20 16:12:04
209
原创 Linux下定时备份文件
原文 https://blog.csdn.net/q290994/article/details/79186821今天有人让我给写个脚本,说是让Linux定时备份文件数据,并删除超过一定时间的备份。听起来很有意思,一番摸索之后成功了没有呢?(因为是给对linux不太熟的人看,所以比较详细)具体看下面吧:一、 编写脚本编写一个脚本文件,使脚本可以执行备份命令。 例如,将文件目录 /h...
2018-11-19 11:36:39
10736
1
原创 Thinkphp源码分析系列–url机制
在ThinkPHP框架中,是支持URL路由功能,要启用路由功能,需要设置ROUTER_ON 参数为true。开启路由功能后,系统会自动进行路由检测,如果在路由定义里面找到和当前URL匹配的路由名称,就会进行路由解析和重定向。在tp中,程序会先从请求的url中解析出来一串字符,如果没有开启路由的话,那么tp就会从这串字符中解析出来模块,控制器和方法以及参数。如果开启路由的话,那么tp会遍...
2018-11-15 20:25:41
273
原创 TP5 自动加载机制详解
http://www.php.cn/php-weizijiaocheng-383032.htmlTP作为国内主流框架,目前已经发布了5.*版本,相对于3.*版本是进行了重构。今天我们就从源码来研究下TP5自动加载的实现。 作为单入口框架,就从入口文件看起,按照tp5文档所示的规范,入口文件应该是放在public/ 下。那么为什么大多数要把入口放到子文件夹下呢?这是一个小技巧。第...
2018-11-15 13:46:16
5526
1
原创 svn: Previous operation has not finished; run 'cleanup' if it was interrupted错误彻底解决方法
昨天使用svn客户端提交代码时,遇到一个很奇怪的问题,代码无法提交,提示有文件重复冲突,删除文件后重新update也出现同样错误,使用cleanup也会报错Previous operation has not finished; run ‘cleanup’ if it was interrupted,后来没办法就重新建立文件夹,重新checkout一份代码,可以正常使用。但是总感觉这个解决方法不彻...
2018-11-13 14:18:36
361
原创 linux 查看服务器版本
查看Apache版本信息: apachectl -v httpd -vcd到/etc/rc.d/init.d/目录,并列出该目录下的所有文件,看看是否有httpd使用httpd -v查看已经安装的httpd的版本使用service httpd status查看httpd的运行状态使用service httpd stop可以停止httpd...
2018-11-12 18:50:09
2377
原创 Linux服务器添加SVN用户
1、找到SVN的安装目录如果SVN进程已经启动,可以通过ps -ef | grep svn查询如果SVN进程未启动,可以通过 find / -name svn查询2、进入该目录的conf文件夹,其中包含authz、passwd、svnserve.conf三个文件3、vim passwd修改passwd加上想要添加的svn账号和密码,格式为:username1 = password1u...
2018-11-12 14:43:05
186
原创 获取客户端ip
// 定义一个函数getIP() 客户端IP,function getIP(){ if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv(...
2018-11-08 16:42:25
118
原创 mysql error 1130 hy000:Host 'localhost' is not allowed to connect to this mysql server 解决方案
ERROR 1130 (HY000): Host 'localhost' is not allowed to connect to this MySQL serverD:\Wamp\mysql-5.6.21\bin>mysql.exe -uroot -pEnter password:ERROR 1130 (HY000): Host 'localhost' is not allowe...
2018-11-08 16:23:45
1556
原创 php 数学函数
php常用数学函数1. bcadd 任意精度数的相加2. bcsub 任意精度数的减法3. bcmul 乘法, bcdiv除法 4. bcmod 取余数。 (比%功能更强大)5. bcpow 幂函数运算6. bcsqrt 平方根7. sqrt 平方根运算7. pow求幂8. abs 求绝对值9. pi 得到圆周率数值 三角函数sin cos tan asin a...
2018-10-25 14:59:54
266
原创 history.back返回后数据丢失的解决办法
js使用history.back返回表单数据丢失的主要原因就是使用了session_start();的原因,该函数会强制当前页面不被缓存。 解决办法如下:在你的 Session_start 函数后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何输出。还有基于session的解决方法,在session_start前加上...
2018-10-24 17:38:40
3248
原创 tp5 验证码
public function vertify(){ $config = array( 'fontSize' => 30, 'length' => 4, 'useCurve' => false, 'useNoise' => false, 'reset' => false ...
2018-10-24 10:58:13
401
原创 跨域问题
header("Access-Control-Allow-Origin: *");header("Access-Control-Allow-Methods:POST,GET");header("Access-Control-Allow-Headers:x-requested-with,content-type");header("Content-type:text/json;charset...
2018-10-23 13:32:04
223
1
原创 “面向过程”和“面向对象”的区别
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 [2] 可以拿生活中的实例来理解面向过程与面向对象,例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输...
2018-10-10 16:13:13
110
原创 php五种设计模式
五种常见的 PHP 设计模式策略模式策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:1.抽象策略角色2.具体策略角色3.环境角色(对抽象策略角色的引用)实现步骤:1.定义抽象角色类(定义好...
2018-10-08 18:22:11
116
原创 git 输错密码 不弹出用户名密码窗口 git fatal: Authentication failed for
原git fatal: Authentication failed for又不弹出用户名和密码 解决办法解决方法如下:git config --system --unset credential.helper
2018-09-29 16:41:47
3028
原创 怎样给数组换键值
foreach($question as $k=>$v){ $question[$v['create_time']] = $v; unset($question[$k]);}
2018-09-28 19:14:07
905
原创 Mysql主键UUID和自增主键区别优劣
引言之前有段时间用postgresql 数据库,在上云之后,从自增主键变为uuid,感觉uuid全球唯一,很方便。最近用mysql,发现mysql主键都是选择自增主键,仔细比较一下,为什么mysql选择自增主键,有什么不同。在mysql5.0之前,如果是多个master复制的环境,无法用自增主键,因为可能重复。在5.0以及之后的版本通过配置自增偏移量解决了整个问题。什么情况下我们希...
2018-09-04 09:31:24
14944
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅