<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Sugar的博客]]></title><description><![CDATA[No Bug No Gain! 如需技术交流加微信：tb1756014628]]></description><link>https://blog.youkuaiyun.com/tsummerb</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tsummerb]]></copyright><item><title><![CDATA[MySQL索引的原理]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/86507812</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/86507812</guid><author>tsummerb</author><pubDate>Fri, 01 Mar 2019 17:32:02 +0800</pubDate><description><![CDATA[引言

回想四年前，我在学习mysql的索引这块的时候，老师在讲索引的时候，是像下面这么说的


索引就像一本书的目录。而当用户通过索引查找数据时，就好比用户通过目录查询某章节的某个知识点。这样就帮助用户有效地提高了查找速度。所以，使用索引可以有效地提高数据库系统的整体性能。


嗯，这么说其实也对。但是呢，大家看完这种说法，其实可能还是觉得太抽象了！因此呢，我还想再深入的细说一下，所以就有了此文...]]></description><category></category></item><item><title><![CDATA[海外手机号码格式校验（PHP版）]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/86438766</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/86438766</guid><author>tsummerb</author><pubDate>Sun, 13 Jan 2019 22:15:54 +0800</pubDate><description><![CDATA[应项目需求，需要满足海外用户也可方便注册成为公司会员。调研之后，决定注册界面应该包括以下两部分

一定是 2 个输入框。

国家码。推荐使用下拉框
	手机号码。根据选中的国家码，做有效性校验。
&amp;lt;1&amp;gt;国家码，目前采用的国际通用的ISO标准，具体世界各国的国家码对应国家的SQL如下


SET FOREIGN_KEY_CHECKS=0;
-- ----------------------...]]></description><category></category></item><item><title><![CDATA[ubuntu16.04编译安装php7.1、安装nginx、安装mysql]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/80212117</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/80212117</guid><author>tsummerb</author><pubDate>Sun, 06 May 2018 13:15:30 +0800</pubDate><description><![CDATA[一、编译安装php7.1①下载php的稳定版本：http://php.net/   并解压，我下载是的php7.1.16，下载之后将压缩文件放到合适的位置，此处放在了/usr/lib目录下命令：tar -zxvf  php-7.1.16.tar②编译configure命令：cd php-7.1.16                ./configure --enable-fpm --enable-...]]></description><category></category></item><item><title><![CDATA[使用pdo和mysqli封装mysql数据库的常用操作]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/79967486</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/79967486</guid><author>tsummerb</author><pubDate>Mon, 16 Apr 2018 22:44:52 +0800</pubDate><description><![CDATA[&amp;lt;1&amp;gt;使用pdo操作mysql数据库使用了单例模式封装了数据库操作，主要包括以下几步①首先声明一个静态变量，便于数据库连接状态存储②声明构造方法为私有，禁止外部调用构造方法进行连接数据库操作③声明一个公有的获取数据连接属性的静态方法，便于外部直接调用，该方法首先判断静态变量是否存在，不存在则实例化自身类获取连接属性，存在则直接返回连接属性④声明一个私有的克隆魔术方法__clone，目的...]]></description><category></category></item><item><title><![CDATA[IOS消息推送（php版本）]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/79921228</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/79921228</guid><author>tsummerb</author><pubDate>Thu, 12 Apr 2018 22:41:23 +0800</pubDate><description><![CDATA[上篇介绍了第三方“个推”推送消息到安卓客户端，本篇介绍IOS的推送机制：

IOS的推送主要依赖于苹果的推送服务器（APNS），具体的推送过程可以分为以下三步：

&amp;lt;1&amp;gt;我们的后端服务器发送苹果客户端设备号和推送内容到APNS

&amp;lt;2&amp;gt;APNS在自身的已注册Push服务的iPhone列表中，查找有相应标识的iPhone，并把消息发送到iPhone。

&amp;lt;3&amp;gt; i...]]></description><category></category></item><item><title><![CDATA[个推，推送数据到安卓客户端（php版）]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/79903581</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/79903581</guid><author>tsummerb</author><pubDate>Wed, 11 Apr 2018 21:53:24 +0800</pubDate><description><![CDATA[由于项目开发需要，需要服务端推送数据到安卓客户端，最终选择了第三方的个推数据推送。准备工作个推官网有详细介绍，此处不做详解。基本推算原理：在个推注册绑定客户端后，每一个客户端会有一个唯一的客户端id，通过发送推送内容到客户端完成消息推送。以下介绍个推两个推送类型（单个推送）：&amp;lt;1&amp;gt;点击通知打开应用&amp;lt;?php
require_once(dirname(__FILE__) . '/'...]]></description><category></category></item><item><title><![CDATA[php +swoole实现异步任务队列]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/79845609</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/79845609</guid><author>tsummerb</author><pubDate>Sat, 07 Apr 2018 22:22:20 +0800</pubDate><description><![CDATA[假如要发100封邮件，for循环100遍，用户直接揭竿而起，什么破网站！但实际上，我们很可能有超过1万的邮件。怎么处理这个延迟的问题？答案就是用异步。把“发邮件”这个操作封装，然后后台异步地执行1万遍。这样的话，用户提交网页后，他所等待的时间只是“把发邮件任务请求推送进队列里”的时间。而我们的后台服务将在用户看不见的地方跑。在实现“异步队列”这点上，有人采用MySQL表或者redis来存放待发送的...]]></description><category></category></item><item><title><![CDATA[Nginx配置内容详解]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/79604512</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/79604512</guid><author>tsummerb</author><pubDate>Sun, 18 Mar 2018 21:14:17 +0800</pubDate><description><![CDATA[nginx配置nginx是一个功能非常强大的web服务器加反向代理服务器，同时又是邮件服务器等等在项目使用中，使用最多的三个核心功能是反向代理、负载均衡和静态服务器这三个不同的功能的使用，都跟nginx的配置密切相关，nginx服务器的配置信息主要集中在nginx.conf这个配置文件中，并且所有的可配置选项大致分为以下几个部分main                               ...]]></description><category></category></item><item><title><![CDATA[php+swoole、swoole_framework、websocket服务器等内容普及]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/79592400</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/79592400</guid><author>tsummerb</author><pubDate>Sat, 17 Mar 2018 15:55:11 +0800</pubDate><description><![CDATA[应公司要求，给公司商城添加用户和商家聊天的功能。为了开发的便利，选用了swoole_framework框架，他有别于其他web开发框架，具体框架详情如下：内置PHP应用服务器，可脱离nginx/php-fpm/apache独立运行配置化与资源自动工厂，可实现从配置中创建资源对象，完全无需new对象全面采用命名空间+autoload，代码中无需任何的include/require全局注册树，所有资源...]]></description><category></category></item><item><title><![CDATA[用微信JS  SDK实现分享到朋友圈和分享给朋友的功能（服务端接口开发）]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/79181794</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/79181794</guid><author>tsummerb</author><pubDate>Sat, 27 Jan 2018 17:43:55 +0800</pubDate><description><![CDATA[前端调用的接口（getInfo.php）如下，通过该接口可以获取所需的校验字段。
<?php
require_once "jssdk.php";
$url=isset($_GET['url'])? $_GET['url'] : 'no url';//动态获取前端传递的待分享页面的url
$jssdk = new JSSDK("appId",$url);
$signPackage = $jssdk]]></description><category></category></item><item><title><![CDATA[PHP生成二维码和识别二维码]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/79080057</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/79080057</guid><author>tsummerb</author><pubDate>Tue, 16 Jan 2018 23:01:36 +0800</pubDate><description><![CDATA[PHP生成二维码
QR Code是一个PHP二维码生成类库，利用它可以轻松生成二维码，下载官网提供的类库后，只需要引入phpqrcode.php就可以生成二维码

代码实例如下:
function setCode($url){
        $data = $url;  
        $filename = '/var/www/pics/images/qrcode/'.time().]]></description><category></category></item><item><title><![CDATA[Linux下使用convert对图片缩放和使用ffmpeg对视频进行转换]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/78628998</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/78628998</guid><author>tsummerb</author><pubDate>Fri, 24 Nov 2017 23:12:37 +0800</pubDate><description><![CDATA[鉴于工作需要，研究了一下Linux的convert命令和ffmpeg命令

一、使用convert命令实现图片缩放
工作需求：在用户上传图片和视频时进行异步处理，如果上传的是图片，生成一张中等比例的图片和一张小的缩略图。最终的结果，存储一张原图，一张中等比例的图片，一张缩略图。如果上传的是视频，需要将视频格式统一转化为mp4格式。
上传图片和视频使用的是百度的在线编辑器ueditor。对其]]></description><category></category></item><item><title><![CDATA[php日常问题汇总]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/78525739</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/78525739</guid><author>tsummerb</author><pubDate>Mon, 13 Nov 2017 22:44:21 +0800</pubDate><description><![CDATA[&amp;lt;1&amp;gt;数组转换成json当数组中的值存在汉字时，转化为json后会出现乱码，可以通过urlencode()对数组中的汉字进行转码&amp;lt;?php
$data['id']=1;
$city_name='北京';
$data['city_name']=urlencode($city_name);
$data['city_code']='D000';
echo urldecode(json_...]]></description><category></category></item><item><title><![CDATA[最新微信退款结果通知解密（php版）]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/78290554</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/78290554</guid><author>tsummerb</author><pubDate>Thu, 19 Oct 2017 22:57:56 +0800</pubDate><description><![CDATA[微信官方给出的退款通知解密方法如下：

（1）对加密串A做base64解码，得到加密串B

（2）对商户key做md5，得到32位小写key* ( key设置路径：微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置 )
（3）用key*对加密串B做AES-256-ECB解密
以下是自己亲测可用的解密方法
<?php
header("cont]]></description><category></category></item><item><title><![CDATA[php中记录日志的几种方法]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/77488300</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/77488300</guid><author>tsummerb</author><pubDate>Tue, 22 Aug 2017 21:48:08 +0800</pubDate><description><![CDATA[1、使用fwrite（）函数写入文件
<?php
$now=date('y-m-d',time());
$filename='log/tongbu_'.$now.'.log';
$file=fopen($filename,"a+");   //a+表示文件可读写方式打开
fwrite($file,'开始写入'."\n");
$time=time();
$res="www.geiliyou.com]]></description><category></category></item><item><title><![CDATA[php递归实现无限级分类]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/77239537</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/77239537</guid><author>tsummerb</author><pubDate>Wed, 16 Aug 2017 12:17:08 +0800</pubDate><description><![CDATA[1、递归组合多维数组
<?php
$a=array(
        0=>array('id'=>1,'title'=>'首页','pid'=>'0'),
        1=>array('id'=>2,'title'=>'技术','pid'=>'0'),
        2=>array('id'=>3,'title'=>'PHP','pid'=>'2'),
        3=>arra]]></description><category></category></item><item><title><![CDATA[Perl脚本常用操作]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/77050034</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/77050034</guid><author>tsummerb</author><pubDate>Thu, 10 Aug 2017 14:17:40 +0800</pubDate><description><![CDATA[一、Perl脚本连接数据库#! /usr/bin/perl
use URI::Escape;
use POSIX qw(strftime);
use DBI;
require "public.pl";
my $source_file = "read.log"; #读取文件
my $dest_file = "write.txt";  #写入文件
my $db = DBI->connect("DBI:]]></description><category></category></item><item><title><![CDATA[使用php将数据导入excel的简单方法]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/76981436</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/76981436</guid><author>tsummerb</author><pubDate>Wed, 09 Aug 2017 12:37:54 +0800</pubDate><description><![CDATA[添加header头来实现导入
<?php
    header("Content-type:application/vnd.ms-excel");
    header("Content-Disposition:filename=test.xls");
    echo "001"."\t"."tb"."\n";
    echo "002"."\t"."wh"."\n";
?>]]></description><category></category></item><item><title><![CDATA[PHP中使用curl实现get、post请求]]></title><link>https://blog.youkuaiyun.com/tsummerb/article/details/53670833</link><guid>https://blog.youkuaiyun.com/tsummerb/article/details/53670833</guid><author>tsummerb</author><pubDate>Thu, 15 Dec 2016 15:26:43 +0800</pubDate><description><![CDATA[一、curl简单介绍
  curl 是一个利用URL语法规定来传输文件和抓取数据的工具，作为后台开发，一般在项目接口对接中用的比较频繁，可以通过get请求或者post请求抓取json数据或者xml数据。
二、php建立curl请求的基本步骤
 ①初始化curl
    curl_init()
 ②设置curl的属性
    curl_setopt(),有一长串cURL参数可供设置，它们]]></description><category></category></item></channel></rss>