中级篇
Leslie丶
断剑重铸之日,骑士归来之时。
展开
-
【Day38】php微信扫码支付源码
代码中包含四个文件createUrl.php、ArrayToXML.php、returnGoodsUrl.php、notifyUrl.php 。createUrl.php:创建微信二维码支付链接```<?php/** * @author chantrans * 本页面的作用是生成商品二维码链接 *///测试echo createUrl("12314124");/** * 产生随机字符原创 2016-11-03 00:42:17 · 1401 阅读 · 0 评论 -
【Day40】php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中。内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI12345678910111213141516171819202122232425262728293031323334353637383940414原创 2016-11-04 12:03:02 · 1326 阅读 · 0 评论 -
【Day51】PHP实现用户注册后邮箱验证,激活帐号
我们在很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号。激活成功后才能正常使用会员功能。本文将结合实例,讲解如何使用PHP+Mysql完成注册帐号、发送激活邮件、验证激活帐号、处理URL链接过期的功能。 业务流程 1、用户提交注册信息。 2、写入数据库,此时帐号状态未激活。 3、将用转载 2016-11-20 14:57:45 · 944 阅读 · 0 评论 -
【Day51】PHP+Mysql+jQuery找回密码
通常所说的密码找回功能不是真的能把忘记的密码找回,因为我们的密码是加密保存的,一般开发者会在验证用户信息后通过程序生成一个新密码或者生成一个特定的链接并发送邮件到用户邮箱,用户从邮箱链接到网站的重置密码模块重新设置新密码。当然现在有的网站也有手机短信的方式找回密码,原理就是通过发送验证码来验明正身,和发送邮件验证一样,最终还是要通过重置密码来完成找回密码的流程。本文将使用PHP+Mysql+jQ转载 2016-11-21 23:03:29 · 615 阅读 · 0 评论 -
【Day57】mysql报错大全
1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数据目录导致删除数据库失败 1011:删除数据库文件失败 1012:不能读取系统表中的记录 1020:记录已被其他用户修改 1021:硬盘剩余空间不足,请加大硬盘可用空间 1022:关键字转载 2016-12-12 22:29:02 · 372 阅读 · 0 评论 -
【Day58】记几个常见的Laravel报错
报错:「Can’t swap PDO instance while within transaction」通过查询 Laravel 源代码,可以确认异常是在 setPdo 方法中抛出的:public function setPdo($pdo){ if ($this->transactions >= 1) { throw new RuntimeException("原创 2016-12-13 00:49:41 · 568 阅读 · 0 评论 -
【Day60】MySQL 数据库性能优化之二(表结构优化)
由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO 的时候是以 page(block)的方式,也就是说,如果我们每条记录所占用的空间量减小,就会使每个page中可存放的数据行数增大,那么每次 IO 可访问的行数也就增多了。反过来说,处理相同行数的数据,需要访问的 page 就会减少,也就是 IO 操作次数降低,直接提升性能。此外,由于我们的内存是有限的,增加每个page中存放的数原创 2016-12-15 01:05:25 · 362 阅读 · 0 评论 -
【Day59】MySQL数据库性能优化之一(缓存参数优化)
数据库属于IO密集型的应用程序,其主要职责就是数据的管理及存储工作。而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级。所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO。本文先从 MySQL 数据库IO相关参数(缓存参数)的角度来看看可以通过哪些参数进行IO优化: query_cache_size/q转载 2016-12-13 23:55:16 · 441 阅读 · 0 评论 -
【Day54】谈谈如何优化MYSQL数据库查询
1、优化数据类型 MySQL中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发人员可能会选择他们认为最简单的方案,以加快编码速度,或者选择最明显的选择,因此,你可能面临的都不是最佳的选择,如果可能的话,你应该尝试以通用准则来改变这些决定。 (1)避免使用NULL NULL对于大多数数据库都需要特殊处理,MySQL也不例外,它需要更多的代码,更原创 2016-12-08 11:12:25 · 336 阅读 · 0 评论 -
【Day56】mysql之TIMESTAMP(时间戳)用法详解
一、TIMESTAMP的变体TIMESTAMP时间戳在创建的时候可以有多重不同的特性,如:1.在创建新记录和修改现有记录的时候都对这个数据列刷新:TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP2.在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它:TIMESTAMP DEFAULT CURRE原创 2016-12-10 04:42:15 · 929 阅读 · 0 评论 -
【Day61】MySQL数据库性能优化之三(索引优化)
索引为什么能提高数据访问性能? 很多人只知道索引能够提高数据库的性能,但并不是特别了解其原理,其实我们可以用一个生活中的示例来理解。 我们让一位不太懂计算机的朋友去图书馆确认一本叫做《MySQL性能调优与架构设计》的书是否在藏,这样对他说:“请帮我借一本计算机类的数据库书籍,是属于 MySQL 数据库范畴的,叫做《MySQL性能调优与架构设计》”。朋友会根据所属类别,前往存放“计算机原创 2016-12-17 15:03:44 · 363 阅读 · 0 评论 -
【Day63】PHP支付宝服务窗API接口的开发
支付宝服务窗口的API开发实例,大家可以参考参考,代码还需要完善<?phpclass AlipayService{ /** - 服务接口信息 */ public $service = null; /** - 签名信息 */ public $sign = null; /** - 签名类型 */ public原创 2016-12-23 15:12:44 · 900 阅读 · 0 评论 -
【Day50】PHP单一文件入口框架简析
单一文件入口应用,所有请求都是通过index.php接收并转发到功能代码中去,因此一些事情变得简单多了,如数据安全性检查,访问统计等。当前比较流行的一些PHP开发框架如Laravel、ThinkPHP等都是采用的单一入口模式。下面咱们来实现一个简单版的单一文件入口框架,包括MVC架构、URL路由的实现。MVC架构Controller控制器是Model和View两者交互的中介,Model模型层负责读转载 2016-11-18 18:12:44 · 834 阅读 · 0 评论 -
【Day49】SQL注入攻击
首先我们了解一下,什么是sql?SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。那么什么是sql注入呢?看起来很复杂,其实很简单就能解释,SQL注入就是一种通过操作输入来修改原创 2016-11-13 21:57:42 · 1138 阅读 · 0 评论 -
mysql Access denied for user root@localhost错误解决方法总结(转)
mysql Access denied for user \'root\'@\'localhost\'”解决办法总结,下面我们对常见的出现的一些错误代码进行分析并给出解决办法,有需要的朋友可参考一下。错误代码 1045Access denied for user 'root'@'localhost' (using password:YES)解决办法是重新设置root用户密码,在Windows平台下操转载 2016-11-01 17:52:39 · 2905 阅读 · 0 评论 -
【Day39】php接口用法
具体分析如下: 现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放到自己网站来,alipay_config.php配置程序如下:<?php */ //alipay_config.php 配置程序 $interfaceurl = "https://www.alipay.com/payto:"; $sitename = "原创 2016-11-03 11:46:17 · 587 阅读 · 0 评论 -
【Day31】php中json_decode()和json_encode()的使用方法
json_decode对JSON格式的字符串进行编码,而json_encode对变量进行 JSON 编码。1.json_decode() (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JS原创 2016-10-23 10:48:53 · 430 阅读 · 0 评论 -
【Day41】php版微信发红包接口用法示例
本文实例讲述了php微信发红包接口用法。分享给大家供大家参考,具体如下:微信红包功能我相信各位朋友都知道吧,但如果我们要把红包集成到网站那么要如何来做呢?这里小编就来为各位分享一个php 微信发红包接口测试实例,希望文章能够帮助到各位朋友下面是一个类,使用方法: $arr['openid']='ojgTTt8oF9VdYcGsJMACHpA-jy1U'; $arr['hb原创 2016-11-05 12:01:38 · 851 阅读 · 0 评论 -
【Day32】mysql中事务的一些注意的地方
最近很多朋友都在讨论mysql事务的问题,记得以前在博客中提过,今天我们详细的总结一下mysql的事务机制,首先从概念,属性,使用方法,优点几个方面来说:概念:那什么是事务呢, 事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返回到事物开原创 2016-10-26 10:34:39 · 653 阅读 · 0 评论 -
【Day42】HTTPS工作原理和TCP握手机制
1、HTTPS的工作原理 HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下:1.浏览器将自己支持的一套加密规则发送给网站。 2.网站从中选出一组加密算法原创 2016-11-06 21:10:06 · 1052 阅读 · 0 评论 -
【Day43】PHP中用PDO查询Mysql来避免SQL注入风险的方法
当我们使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制。虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷。而使用PHP的PDO扩展的 prepare 方法,就可以避免sql injection 风险。PDO(PHP Data Object) 是PHP5新原创 2016-11-07 14:38:31 · 498 阅读 · 0 评论 -
【Day44】一次完整的浏览器请求流程
当我们在浏览器的地址栏输入www.baidu.com,然后回车,回车这一瞬间到看到页面到底发生了什么呢?整个流程如下:域名解析 发起TCP的3次握手 建立TCP连接后发起http请求服务器响应http请求,浏览器得到html代码浏览器解析html代码,并请求html代码中的资源(如js、css、图片)浏览器对页面进行渲染呈现给用户以下就是上面过程的一一分析,我们就以Chrome浏览器为例转载 2016-11-08 11:31:05 · 818 阅读 · 0 评论 -
【Day34】PHP递归实现无限级分类
在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。 递归,简单的说就是一段程序代码的重复调用,当把代码写到一个自定义函数中,将参数等变量保存,函数中重复调用函数,直到达到某个条件才跳出,返回相应的数据。 首先我们准备一张数据表class,记录商品分类信息。表中有三个字原创 2016-10-29 12:45:29 · 510 阅读 · 0 评论 -
【Day46】CentOS中安装了MySQL 5.7后忘记密码问题解决
在CentOS中安装好了MySQL 5.7之后,发现密码不知道。不要紧,直接重置密码。1.修改配置文件my.cfg[root@localhost ~]# vi /etc/my.cnf找到mysqld在之后添加skip-grant-tables保存退出重启mysql服务service mysqld restart3.直接登陆mysql而不需要密码mysql -u root (直接点击回车)4原创 2016-11-10 19:51:15 · 1129 阅读 · 0 评论 -
【Day35】浅谈PHP拦截器之__set()与__get()的理解与使用方法
“一般来说,总是把类的属性定义为private,这更符合现实的逻辑。 但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属性,以及检查属性的“__isset()”和删除属性的方法“__unset()”。 我们为每个属性做了设置和获取的方法,在PHP5中给我们提供了专门为属性设置值和获取值的方法,“__set()原创 2016-10-30 16:59:27 · 406 阅读 · 0 评论 -
【Day36】PHP定时任务获取微信access_token
最近开发微信公众平台,公众号调用各接口时都需使用access_token,access_token是公众号的全局唯一接口调用凭据,开发时需要进行妥善保存。 access_token有效期为7200秒 ,重复获取将导致上次获取的access_token失效。 由于微信对获取access_token的api调用次数做了限制,建议开发者全局存储与更新access_token,频繁刷新access_t原创 2016-10-31 00:13:42 · 563 阅读 · 0 评论 -
【Day47】有关数据库的知识点总结
一、myisam和innodb的区别1、innodb支持事务,myisam不支持事务2、innodb支持行级锁,myisam支持表级锁3、innodb支持并发控制,而myisam不支持4、innodb支持外键,而myisam不支持5、innodb不支持全文索引,myisam支持二、数据库的四种隔离级别,以及它们之间的区别Read Uncommitted(读取未提交的内容): 在该隔离级别,所原创 2016-11-11 13:36:31 · 417 阅读 · 0 评论 -
今天介绍两种跨域提交form表单的方法
一、通过php curl<?phpfunction curlPost($url,$params){ $postData = ''; foreach($params as $k => $v) { $postData .= $k . '='.$v.'&'; } rtrim($postData, '&'); $ch = curl_init(); cur原创 2016-10-31 15:49:14 · 14641 阅读 · 0 评论 -
【Day48】Redis监控主要指标及采集方法
公司的Redis业务很多,Redis监控自然也是DB监控的一大模块,包括采集、展示、监控告警。本文主要介绍Redis监控的主要指标和采集方法。 一、Redis监控系统逻辑 1、DBA通过前台页面添加redis监控,填写ip和端口,配置阈值、负责人等信息 2、前台调用自动调度平台接口将redis监控采集Agent发送到目标机器上的固定文件夹,并添加crond,每分钟运行(采集Agent包含采集程原创 2016-11-12 20:25:58 · 1919 阅读 · 0 评论 -
【每天一个Linux命令】A- apachectl
Linux apachectl命令Linux apachectl命令可用来控制Apache HTTP服务器的程序。apachectl是slackware内附Apache HTTP服务器的script文件,可供管理员控制服务器,但在其他Linux的Apache HTTP服务器不一定有这个文件。语法apachectl [configtest][fullstatus][graceful][help][re原创 2017-03-01 10:47:15 · 482 阅读 · 0 评论