自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

caoyouming0609的博客

From now on,I will expect nothing and just take what I get.

  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 PHP引用(&)以及底层实现原理

面试题NO.1 什么是引用变量?在PHP中引用是如何实现的。 概念: 引用:在PHP中,不同的变量名字访问同一个变量的内容,成为引用,用&符号表示。引用工作原理:(1)PHP在内存中存储的原理:<?php $a = range(1, 100); $b = $a;?>因为PHP中存在COW(Copy On Write)机制,所以b变量不会再开...

2018-08-02 17:32:18 566

转载 mysql分表的3种方法

mysql分表的3种方法 一,先说一下为什么要分表复制代码 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下: 1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。 在这个执行过程中最花时间在什么...

2018-05-29 13:52:05 369

转载 数据库锁的类型有三种???共享锁、排它锁、更新锁

共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被读取完毕,S锁立即被释放。 排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。 更新(U)锁:用来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直到事务结束时才能被释放。 详细解...

2018-05-12 12:50:50 8157

原创 使用fis将本地项目部署到开发机(远程服务器)

习惯了使用VScode,sublime text 3等编辑器,需要自己在开发机上改bug,只能依靠linux系统提供的vim,对于我这种对vim不熟的人来说,在开发机上改bug用vim真的是非常难受了,总是会在本地将代码修改完毕,再复制上开发机,这样的体验真的很蛋疼!!! 接触了百度提供的fis ,可直接将本地项目部署到远程服务器,每次只需要将本地文件重新提交一次就好了,实现了windows-&...

2018-05-05 20:57:03 1151

原创 彻底解决win10chromd浏览器(主流浏览器)快捷方式被篡改的问题

前不久因为使用了激活工具激活office2016导致windows中了病毒,具体效果就是主流浏览器被劫持,快捷方式被篡改,一番查找解决,无果。然后重新安装了操作系统,这次没有使用那些激活工具,操作系统以及office2016也都是正版的,但好景不长,因为做开发,安装了一些我认为是没有安全隐患的软件,但不幸的是,又一次掉进了钩子陷阱里面。。。。。。。打开浏览器自动跳转到hao123…….身为一个...

2018-03-30 13:47:53 7872

原创 【百度】写一个百度实习的总结吧——离职返校第四天

2017年12月12日下午,接到百度面试电话,之前在实习僧官网上投了简历。这是人生中的第二次面试,第一次面试也是百度,是手机百度业务部的直面。在第一面时被怼到直接挂掉。详情: 人生第一面,被怼到怀疑人生这次面试的部门是企业智能平台部,一个很高大上很高大上的部门哟。面试我的是我们团队老大,也是我的直接导师。面试内容很简单,主要问了PHP的一些常用函数呀,linux基础,以及Mysql的一些知识...

2018-03-19 16:36:51 2257 3

原创 PHP底层原理(理解)

用了很久的LAMP或者LNMP,那么lamp之间到底是怎么工作的,或者是怎么联系起来?平时只是写程序,很少思考过他们之间的工作原理:PHP底层工作原理 图1 php结构从图上可以看出,php从下到上是一个4层体系①Zend引擎Zend整体用纯c实现,是php的内核部分,它将php代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了基...

2018-03-13 14:58:22 349

原创 一点使用git的心得

git branch 查看分支 git status 查看当前状态(是否修改) git add 提交某个修改 git commit 添加注释 git push 提交 git merge 合并 git reset –merge 回退之前的合并 git checkout 切换分支 一般提交只需要git push之前的命令就可以了。就我今天遇到的

2018-01-31 17:47:57 359 2

原创 SQL注入漏洞与防范

SQL注入的原理:在原有SQL语句上附加一段SQL代码,构造特殊的SQL语句,利用程序自身的权限实现所需要的操作。假如现在有一张user表:uidusername pwd1admin admin2222custome 123456现在执行一个登录操作:    $conn=mysqli_connect("localhost","root",

2018-01-31 15:14:49 370

原创 php导出数据中纯数字的处理is_numeric与ctype_digit的区别

在用phpexcel导出数据时遇到数据前面有0或者数据大于15位会自动转化为科学计数的方式,对数据进行判断输出就可以了。PHP中的两个函数is_numeric和ctype_digit都是检测字符串是否是数字,但也存在一点区别:is_numeric:检测是否为数字字符串,可为负数和小数ctype_digit:检测字符串中的字符是否都是数字,负数和小数会检测不通过,这是

2018-01-29 14:55:15 358

原创 使用php函数ini_set()重新设置某个配置的设置值

使用PHP的ini_set()函数ini_set(PHP 4, PHP 5, PHP 7)ini_set — 为一个配置选项设置值说明string ini_set ( string $varname , string $newvalue )设置指定配置选项的值。这个选项会在脚本运行时保持新的值,并在脚本结束时恢复。参数varn

2018-01-19 11:30:14 4797

转载 Nginx与PHP交互详解——被百度怼了很长时间!!!

Nginx是俄国人最早开发的Webserver,现在已经风靡全球,相信大家并不陌生。PHP也通过二十多年的发展来到了7系列版本,更加关注性能。这对搭档在最近这些年,叱咤风云,基本上LNMP成了当下的标配。可是,你用了这么多年的Nginx+PHP的搭配,你真正知道他们之间是怎么交互怎么通信的么?作为一道常常用来面试的考题,从过往经验看,情况并不乐观。更多的同学是知道PHP-FPM、知道FastCGI

2017-11-29 11:12:26 800

原创 写个面经(人生第一面)——手机百度PHP后台开发

学长介绍的部门直招,很不错的一个机会。中午11:30左右学长告诉我有这个机会,然后直接把简历发给学长,下午15:00同学告诉我要面试,找老师请假+从东区赶到实验室花费20分钟。坐下倒了杯水,同学提到自我介绍,她说他不知道说啥说出了自己喜欢打篮球!!!然后我打开txt文档开始写自我介绍,没写完电话来了。下午15:36分,面试开始!面试官:你好,请问是xxx同学吗?我:是。面试

2017-11-28 18:12:22 1399 2

原创 php CI3.0控制器多级目录支持

比方说你想配置默认路由为: $route['default_controller'] = 'index/home';ci3.0之前是可以放在 controllers中的子文件夹中的,但是到了ci3.0就必须直接放在 controllers下面,如果你坚持放在它的子文件夹下,那解决办法如下:找到 system > core > router.php  2978-301 行注释掉。 ( 我的是

2017-11-01 17:09:58 1168

原创 ubuntu16.04下搭建ngnix+php+mysql+Redis,实现数据库的读写分离

在学习完Redis后,相信很多人都对明白了mysql+redis的开发模式有了一些心得认识。那么,在这里给大家先分析一下Mysql+Redis的开发优势。做过项目开发的人应该都知道,读写一体的操作对mysql的压力是很大的,这张图片中完美的解释了mysql+redis的开发是怎样的一种模式。现在介绍一下相关环境的搭建:一、ubuntu16.04下的ngnix+p

2017-10-10 21:04:07 1943

原创 php的魔术变量__METHOD__、__FUNCTION、__DIR__、__f

在php中提供了__FILE__、__DIR__、__LINE__、__CLASS__、__NAMESPACE__、__METHOD__、__FUNCTION__等魔术变量,其中:__FILE__:返回该文件的完整路径和文件名。__DIR__:返回文件的目录。__LINE__:返回当前文件的行数。__CLASS__:返回类名。__NAMESPACE__:返回当前命名空间的名称。

2017-09-24 22:30:07 1407

原创 PHP实现在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

PHP实现在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。<?phpfunction Find($target, $array)//传入的整数和二维数组{ // write code here $rows = count($array);//行

2017-09-24 19:39:28 764

原创 PHP中strstr()、stristr()、strpos()、strrchr()的区别和联系

在PHP中strstr()、stristr()、strpos()、strrchr()函数的功能都是用来获取一个指定字符串在另一个字符串中出现的位置,那么,他们有什么区别呢?(1)stristr()函数stristr()函数用于获取指定字符串(A)在另一个字符串(B)中首次出现的位置到字符串(B)末尾的所有字符串。该函数如果执行成功返回剩余的字符串,否则返回false。该函数不区分大

2017-09-04 10:41:03 993

原创 php中的==和===的用法及区别

在开发中进场遇到数值匹配的问题,那么在进行匹配时,遇到下面的情况,你觉得结果是什么?<?php $str = "0dff";if (0 == $str) { echo "true";}else{ echo "false";}?>出人意料的上面的这个程序的输出结果是true,也就是说在编译中程序默认0和0dff是相等的。这是因为在执行关系运算”==“时要求运算符两边的

2017-09-03 16:01:45 14104

原创 str_replace()、preg_replace()、strtr()三者的区别和用法

php中在字符串的替换模块有3个函数,str_replace(),preg_replace(),以及strtr()。str_replace():定义和用法str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)。该函数必须遵循下列规则:如果搜索的字符串是数组,那么它将返回数组。

2017-07-16 16:50:38 7494 3

原创 使用windows访问和管理linux服务器--putty

相信大家在使用linux服务器时,厌烦了每次在windows下时,想要操纵linux服务器时,只能在浏览器的小黑框中进行操控,并且没办法直接在windows下上传和下载linux服务器上的文件,管理Linux服务器等等。在这里叫大家一个小窍门,使用putty直接管理linux服务器。这里给出大家我使用的putty,大家直接下载就好。http://pan.baidu.co

2017-05-18 18:54:12 466

原创 CI框架之连接数据库

1.修改数据库的配置      CodeIgniter中,数据库的配置文件是“database.php”,位于“ci/application/config”中,打开该文件,默认的配置信息是:             $db['default']如下是他的配置相关信息:在“database.php”中,还有一个配置项:$acti

2017-05-18 18:28:03 2603

原创 项目上传至服务器;使用linux系统将本地项目上传到服务器上

很多人不明白本地的项目该如何上传到自己的服务器上,今天这里给大家详细说一下.(1)linux下使用ssh命令链接到另一台linux主机相信大家都听说过,带大家回忆一下.ssh [email protected]其中 root 是服务器的管理员账户名   115.159.113.123是我的服务器外网ip,你要把他改成你自己的就可以了了.通过

2017-05-04 21:56:28 4111

原创 mysqli连接mysql数据库的常用方法(面向对象和面向过程)

相信开始学习PHP的伙伴们用的都是php4,或者php5,在这些版本中都有一个连接数据库的函数mysql_connect(),但在使用php5.5及5.5以上版本时,你会发现使用mysql_connect()会直接报错,这是因为php5.5以后的版本考虑到未来的可移植性和安全性,性能而废弃了mysql_connect()函数,所以我们只能使用mysqli_connect()和PDO,这里我说一下m

2017-05-01 20:21:08 4749 1

原创 GET方法与POST方法的区别

GET与POST都是标记中的method属性来指定的,它们的区别在于:1.get是从服务器上获取数据,post是向服务器传送数据。 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到,比如一个登陆界面有用户名和密码两个值:http://127.0.0.1/index.php?user=传递过来的用户名&pass

2017-04-27 20:03:12 1112

原创 面向对象原则:高内聚、低耦合。

面向对象的基本原则:多聚合,少继承;低耦合,高内聚。 【高内聚、低耦合】 内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。耦合:模块与模块之间接口的复杂程度,模块之间联系越复杂耦合度越高,牵一发而动全身。目的:使得模块的“可重用性”、“移植性”大大增强通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。

2017-04-16 12:08:45 543

原创 php框架学习CI(CodeIgniter)的经验分享

CodeIgniter是什么?CodeIgniter是一个应用程序框架,是一个为用PHP编写网络应用程序提供的工具包CodeIgniter使用严格的M-V-C模型,这样可以更好地使表现层和逻辑层分离。CodeIgniter生成干净的URL CodeIgniter URL 在默认情况下,CodeIgniter中的URL被设计成对搜索引擎和人类友好,不同于使

2017-04-13 21:34:58 594

原创 单一入口文件的定义

在学习php的框架时,我们都遇到一个词“单一入口文件”,那么,什么是单一入口文件呢?这里我给出详细解释。单一入口文件:在使用PHP过程化编程时,每个PHP文件都能独立访问并运行,就像一个体育场有多个入口一样,需要在每个入口都要检票和安全检查。而采用单一入口模式进行项目部署和访问,无论完成什么功能,一个项目只有一个统一(但不一定是唯一)的入口,就像一个体育场如果只能从一个入口入场(程

2017-04-06 21:17:48 1339

原创 unsigned与signed之间的区别;微软试题已知unsigned int i=3;unsigned j;输出j=i*(-1)的结果详解

这样一道题:已知unsigned int i=3;unsigned j;输出j=i*(-1)的结果 第一反应:-3。不过结果似乎不是这样的,写了个程序,运行了一下,发现是:4294967293。很诡异的一个数字,怎么也想不明白为什么会是这么个奇怪的数字。但是在我发现这数的十六进制数是FFFFFFFD时,我想我已经离答案很近了... 这个涉及到了混合着不同

2017-03-22 19:33:44 952

转载 C语言关键字auto、static、register、const、volatile、extern的作用

关键字auto、static、register、const、volatile、extern这些关键字是C语言中常见的也是是c++的基础知识,我整理了一下,希望对新学的朋友们有用:(1)auto   这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就

2017-03-21 17:17:38 433

转载 数据库事务(三)

事务隔离级别     尽管数据库为用户提供了锁的DML操作方式,但直接使用锁管理是非常麻烦的,因此数据库为用户提供了自动锁机制。只要用户指定会话的事务隔离级别,数据库就会分析事务中的SQL语句,然后自动为事务操作的数据资源添加上适合的锁。此外数据库还会维护这些锁,当一个资源上的锁数目太多时,自动进行锁升级以提高系统的运行性能,而这一过程对用户来说完全是透明的。     ANSI/ISO S

2017-03-20 12:58:36 284

转载 数据库事务(二)

数据库事务(二)数据并发的问题     一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库。数据库中的相同数据可能同时被多个事务访问,如果没有采取必要的隔离措施,就会导致各种并发问题,破坏数据的完整性。这些问题可以归结为5类,包括3类数据读问题(脏读、幻象读和不可重复读)以及2类数据更新问题(第一类丢失更新和第二类丢失更新)。下面,我们分别通过实例讲解引发问题的场景。

2017-03-20 12:57:09 224

转载 数据库事务(一)

数据库事务(1)数据并发的问题     一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库。数据库中的相同数据可能同时被多个事务访问,如果没有采取必要的隔离措施,就会导致各种并发问题,破坏数据的完整性。这些问题可以归结为5类,包括3类数据读问题(脏读、幻象读和不可重复读)以及2类数据更新问题(第一类丢失更新和第二类丢失更新)。下面,我们分别通过实例讲解

2017-03-19 20:51:08 220

转载 windows+linux16.04双系统时间不一致的问题

安装了win10 和 Ubuntu 双系统,重启切换到 Win10 后,Windows的时间总是不对。 解决办法: 1. 先在ubuntu下更新一下时间,确保时间无误: 2. 打开终端:Ctrl + Alt + T 3. 终端输入:sudo apt-get install ntpdate 4. 接着输入:sudo ntpdate time.windows.com

2017-03-18 22:07:32 302

原创 关于windows下安装wampserver服务器系统丢失msvcr100.dll及VCRUNTIME140.dll的解决办法

大家都知道开发php的一个简洁的配置WAMP,但在安装配置wamp时总会遇到警告提示windows系统丢失msvcr100.dll及VCRUNTIME140.dll,那么我们按照下载WAMP时提示的安装安装vc++2015,安装重启后,你再去重新安装,你还是会发现提示系统丢失VCRUNTIME140.dll。这里我给大家提供一个微软常用运行库64位的。大家下载安装后即可安装WAMP。

2017-03-14 17:40:09 4637 1

原创 利用PHP产生随机验证码

大家都知道一般网站的登陆除了账号密码之外,还需输入验证码进行验证。今天,给大家分享一个利用PHP产生随机验证码的案例。这个案例是一个用面向对象的PHP写的,下面给出其源码:class RandString{    private $length;    private $type;        public function __construct($

2017-03-13 23:02:38 1377

原创 PHP中关于邮件E-mail的发送案例

大家都熟悉在网页端利用网页发送邮件的验证方式,但具体如何实现的想必你也不是很清楚。今天,我为大家带来一个PHP发送邮件的简单案例。以下是一个关于邮件发送的源代码,大家可以看看。&lt;html&gt;&lt;head&gt;&lt;title&gt;邮件发送(runoob.com)&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;?phpif (isset($_...

2017-03-08 18:09:27 1375

原创 PHP连接MySQL数据库

PHP连接MySQL数据库既然现在你看到了这篇文章,说明你肯定知道PHP和MySQL是怎么一回事,我就不啰嗦了。但为什么你还要继续阅读此文呢?可能是以前你习惯复制粘贴一些代码,并没有真正弄懂代码的含义;也可能你以前弄懂了,但像我一样,有一段时间没有接触,生疏了;再或者,有人问你类似的简单问题,而你已经不屑于回答,直接上网搜索,恰好找到了这篇,于是就推荐给那谁谁谁了...不管怎样,在这里

2017-03-08 17:57:53 3892 3

MVC框架之CI框架

一个关于框架的基础知识及有关CI学习的一个基础课件,详细讲解了如何学习和使用CI开发项目。

2017-04-16

空空如也

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

TA关注的人

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