自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 收藏
  • 关注

原创 PHP的魔术方法

PHP中有很多魔术方法:__construct,__destruct,__call,__callStatic,__get,__call,__isset,__unset,__sleep,__wakeup,__toString,__set_state,__clone,__autoload1、__get,__set这两个方法是为在当前类和他们的父类中没有声明的属性而设计的__ge

2017-09-07 12:10:16 177

原创 PHP的continue、break、goto、exit和die的用法

continuecontinue是用来在循环结构中,控制程序放弃本次循环continue语句之后的代码并转而进行下一次循环。continue本身并不跳出循环结构,只是放弃一次循环。如果在非循环结构中(如if、switch中)适用continue,程序将会出错。例:for($i=1;$i<100;$i++){ if($i/3==0||$i%7==0){

2017-09-06 15:27:02 1078

转载 PHP中的private、protected、public

各修饰符调用权限 privateprotectedpublic本类YYY子类NYY外部NNY例:class Human{ private $name = 'Tom'; protected $money = 3000; public $a

2017-09-06 14:12:09 306

转载 PHP的单例模式

单例模式:单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式是一种常见的设计模式,在计算机系统中,线程池,缓存,日志对象,对话框,打印机,数据库操作,显卡的驱动常被设计成单例单例模式分3种:懒汉式单例,饿汉式单例,登记式单例。特点:1.只能有一个实例2.必须自行创建这个实例3,必须给其他对象提供这一实例场景:PHP一

2017-09-06 12:03:04 178

原创 PHP的简单工厂模式

简单工厂:简单工厂模式是有一个工厂对象决定创建出哪一种产品类的实例。优点:模式的核心是工厂类。这个类含有必要的逻辑判断,可以决定在什么时候创建哪一个实例,而调用者则可以免去直接创建对象的责任。简单工厂模式通过这种做法实现了对责任的分割,当系统引入新的类的时候无需修改调用者。缺点:这个工厂类集中了所有的创建逻辑,当有负责的多层次等级结构时,所有的业务逻辑都在这

2017-09-06 09:56:38 203

原创 PHP中static的用法

在变量前面加上static就构成了静态变量在全局变量前面加上static就构成了全局静态变量static变量和普通变量的区别:1,非静态全局变量作用域是这个源程序,当一个源程序有多个源文件组成时,非静态的全局变量在各种源文件都是有效的。2,静态全局变量限制了其作用域,即只在定义该变量的源文件内有效3,static局部变量只会被初始化一次,下一次依据上一次结果值4,stati

2017-09-05 18:59:54 244

原创 PHP中global的用法

PHP作用域:全局环境和局部环境彼此独立隔离,互相不能访问各自里面的变量。这里我们首先要明白一个知识点:global $a是外部$a的同名引用从下面这个例子我们可以看出:$GLOBALS['a']是外部的全局变量$a本身$a = 1;function test(){ unset($GLOBALS['a']);}test();echo $a;什么都没输出,

2017-09-05 18:33:07 3529

原创 1024!结尾有多少个0

1024!结尾有多少个0?如题,我们只需考虑1024有多个5的倍数,1024/5=204;同时还要注意到1024有多少个25的倍数,1024/25=40;同理,1024/125=8;1025/625=1;故1024!结尾有204+40+8+1=253

2017-09-05 09:21:32 373

转载 CSRF攻击和防范

csrf(Cross Site Request Forgery)跨站请求伪造csrf攻击能够实现依赖于这样一个简单的事实:用户在浏览器打开多个浏览器页签,假如用户登录一个站点A,站点A通过cookie来跟踪用户的回话,假如站点A的一个页面siteA-page.php被站点B知道了,而这个页面的地址以某种方式潜入到了B站点的一个页面siteB-page.php中,如果这是用户在保持A

2017-09-04 18:34:25 192

转载 XSS攻击和防范

XSS又叫CSS(Cross Site Script),跨站脚本攻击。它指的是恶意攻击者往web页面里插入恶意html代码,当用户浏览该页面时,嵌入其中web里面的html代码会被执行,进而达到攻击的目的PHP防范:1,PHP直接输出html的,可以采用以下方法过滤:htmlspecialchars函数,该函数会将预定义的字符""和"&"转换成HTML实体,实体

2017-09-04 17:58:38 380

原创 mysql注入原理及防范

SQL注入原理SQL注入漏洞存在的原因,就是拼接SQL参数例:参数为id$sql = 'select * from test where id='.$_GET['id'];正常输入2则sql为:select * from test where id=2;只会查出id为2的记录黑客输入2 or 1=1则sql为select * from test where

2017-09-04 17:21:12 1420

转载 mysql explain使用

explain select语句重点关注 type和Extra列的结果type即访问类型,从好到坏依次是:system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL 最低级别要使用

2017-08-10 15:29:42 212

原创 wamp结合phpstorm配置xdebug断点调试

1,查看phpinfo(),在xdebug扩展下我们可以看到IDE Key2,进入http://www.jetbrains.com/phpstorm/marklets/3,将第一步的IDE Key复制粘贴到第二部页面中IDE Key的输入框中4,点击GENERATE生成debug文件,将生成的debug文件拖动到书签栏中,(提前将chrome的书签栏设为可显示)5,修改php.

2017-08-09 18:35:02 589

原创 Mysql索引结构及常见索引的区别

一、Mysql索引主要有两种结构:B+Tree索引和Hash索引Hash索引mysql中,只有Memory(Memory表只存在内存中,断电会消失,适用于临时表)存储引擎显示支持Hash索引,是Memory表的默认索引类型,尽管Memory表也可以使用B+Tree索引。Hash索引把数据以hash形式组织起来,因此当查找某一条记录的时候,速度非常快。但是因为hash结构,每个键只对应一个值...

2017-08-09 11:39:43 16705

转载 wampServer安装Redis扩展

1,查看phpinfo()查看PHP版本,编译器版本PHP Extension Build,cpu架构Architecture.2,根据版本选择扩展包php_redis.dll下载地址:http://windows.php.net/downloads/pecl/snaps/redis/2.2.5/php_igbinary.dll下载地址:http://windows.php

2017-08-08 19:17:48 1654

原创 访问记录分析

1,类似百度统计,一个js在页面新增一个src,src请求,将相关参数记录在服务端

2017-07-10 12:25:48 726

原创 git入门日常

一、git的两种连接方式1,http连接http://username:password@githost.git2,ssh连接现在在本地生成ssh-key,执行ssh-keygen -t rsa -C 'your name'生成id_rsa和id_rsa.pub将id_rsa.pub内容添加到githost的管理平台的ssh keys则可以ssh访问git@gi...

2017-05-11 20:19:51 419

转载 rsync同步的一些用法

rsync的基本用法$ rsync [options] src dest1、目的端和源端文件内容不同,触发同步2、rsync不同步文件到”modify time”,进行同步到文件,目的端到”modify time”总是被修改为最新时刻到时间。3、rsync不会太关注目的端文件到rwx权限,如果目的端无此文件,则权限与源端保持一致;如果目的端有此文件,则权限不会随着源端变

2017-04-17 16:25:38 635

原创 sudo免密和远程执行shell脚本

一,sudo免密1,管道符例:echo 'passwd' | sudo service httpd restart2,visudo例:username ALL=(root) NOPASSWD:chown,rsyncusername即需要执行sudo免密的用户,chown和rsync即sudo免密的命令也就是说当username用户执行sudo chown 和sudo rsy

2017-04-17 15:22:36 3245

原创 laravel 报htmlentities() expects parameter 1 to be string,array given

遇到此类问题是由于在blade中使用了双括号输出数组例如:后台给前端的参数是$file = array('a'=>1,'b'=>2);前端在模板中使用{{$file}}此种情况会报此类错误如要输出,使用foreach输出数组@foreach($file as $val){{$val}}@endforeach另一种是由于blade模板中使用双括号惊醒变量赋值数

2017-03-29 20:31:50 23795 2

转载 SQL逻辑查询语句执行顺序

(7) SELECT (8) DISTINCT (1) FROM (3) JOIN (2) ON (4) WHERE (5) GROUP BY (6) HAVING (9) ORDER BY (10) LIMIT 上述SQL的执行顺序1,执行FROM语句FROM告诉我们最开始从哪个表开始。经过FROM

2017-01-17 18:20:59 241

转载 mysql字段属性

1,auto_incrementauto_increment能为新插入的行赋一个唯一的整数标志符mysql要求将auto_increment属性用于作为主键的列,此外,每个表只允许有一个auto_increment列例:id smallint not null auto_increment primary_key2,binarybinary属性只用于char和varch

2017-01-11 18:17:55 434 1

转载 mysql数据类型

mysql中数据类型大的方面来分可以分为:日期和时间,数值以及字符串日期和时间mysql数据类型含义date3字节,日期,格式:2017-01-11time3字节,时间,格式:16:26:10datetime8字节,日期时间,格式:2017-01-11 16:26:10timestamp4字节,自动存储记录

2017-01-11 16:19:08 160

转载 mysql引擎

MyISAMMyISAM表是独立于操作系统的,这说明可以轻松的将其从windows移植到Linux每当我们建立一个MyISAM引擎表时,就会在本地磁盘创建三个文件,文件名就是表名例如:我们建一个MyISAM引擎的tb_demo表,就会产生三个文件1,tb_demo.frm 存储表定义2,tb_demo.MYD 存储数据3,tb_demo.MYI 存储索引MyISAM无法

2017-01-11 15:20:52 213

原创 查看TCP连接状态及Linux内核优化

Linux判断CC攻击方法查看所有80端口的连接数1. netstat -nat|grep -i "80"|wc -l对连接的IP按连接数量进行排序1. netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n查看TCP连接状态1. netstat -nat |awk '{print $6}'|so

2016-12-15 20:43:42 524

原创 对WEB应用的粗浅理解

1,nginx分发,apache应用2,cdn静态文件3,login登录中心,redis数据缓存及session4,zabbix监控运维5,piwik页面统计6,git版本控制7,jekins任务调度,一键部署8,tower任务管理

2016-12-15 11:14:33 374

原创 微信联合登录流程

1,创建应用,填写应用回调地址,获取appid和secrect2,用户点击本站微信登录链接,例如login.php?type=weixin3,login.php向 https://open.weixin.qq.com/connect/qrconnect 发起请求,获取code,其中参数中的redirect_uri为回调处理地址4,获取code调用 https://api.weixin.

2016-11-04 11:48:09 941

原创 laravel原创

php artisan make:controller ArticleController --plain可以不生成index等方法$name='jelly';return view('site.about')->with('name',$name);$data=[];$data['a']='jelly';$data['b']=''bool;retu

2016-10-28 14:39:00 312

原创 mysql创建用户并授权

创建用户:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; username即需要创建的用户名hots即用户登录的域名或者IPpassword即创建的用户的登录密码授权:GRANT privileges ON databasename.tablename TO 'username'@'host' 

2016-10-28 12:32:07 287

原创 laravel初级

1,laravel一键安装地址http://www.golaravel.com/download/2,composer下载地址https://getcomposer.org/download/下载Composer-Setup.exe3,执行Composer-Setup.exe,安装在与php.exe同级目录中4,打开cmd,执行php -v和composer -v,正常输出则compo

2016-10-25 10:38:42 221

原创 CentOS6.6下源码安装apache2.4.20+PHP5.6.20

准备CentOS6.6 Linux机器一台 root权限或者sudoApache官网下载:http://httpd.apache.org/download.cgi由于Apache依赖于APR、APR-Util和PCRE,所以需要下载:APR + APR-Util:http://apr.apache.org/download.cgi获取httpd-2.4.20.tar.g

2016-07-26 15:31:34 561

原创 PHP面试题

PHP1,session的原理,谈谈大型网站如何处理session2,写函数找出字符串中所有的对称字段,例如aba,mnnm3,写函数将html代码中所有标签中的href属性替换成http://club.kingdee.com4,约瑟夫环5,PHP是解释语言,如何提高PHP的运行性能MySql1,MySql有哪些数据引擎,区别是什么2,MySql索引,联合索

2016-07-26 15:27:02 190

原创 DZ! X 数据库函数操作方法

discuz!x常用数据库操作

2015-06-06 16:50:32 538

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除