<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dingnie1973的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/dingnie1973</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; dingnie1973]]></copyright><item><title><![CDATA[PHP实现大文件下载]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591219</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591219</guid><author>dingnie1973</author><pubDate>Fri, 22 Feb 2019 16:31:00 +0800</pubDate><description><![CDATA[实现大文件下载的关键在于循环读取字节流
function downloadFile($filename) {

    //获取文件的扩展名
    $allowDownExt = array ( 'rar', 'zip', 'png', 'txt', 'mp4', 'html');

    //获取文件信息
    $fileExt = pathinfo($filena...]]></description><category></category></item><item><title><![CDATA[Nginx兼容框架的pathinfo模式与URL重写]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591218</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591218</guid><author>dingnie1973</author><pubDate>Fri, 22 Feb 2019 11:20:00 +0800</pubDate><description><![CDATA[几乎所有的框架(ThinkPHP，Zend Framework，CI，Yii，laravel等)都会使用URL重写或者pathinfo模式，使URL看起来更美观，比如可以隐藏掉入口文件，并且有利于搜索引擎优化，其实让Nginx支持pathinfo或者重写也不难，首先在php.ini中设置cgi.fix_pathinfo=1
再就是添加配置文件(新版nginx) 内容如下:
#path...]]></description><category></category></item><item><title><![CDATA[MySQL中的严格模式]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591217</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591217</guid><author>dingnie1973</author><pubDate>Fri, 22 Feb 2019 11:19:00 +0800</pubDate><description><![CDATA[很多集成的PHP环境(PHPnow WAMP Appserv等)自带的MySQL貌似都没有开启MySQL的严格模式，何为MySQL的严格模式，简单来说就是MySQL自身对数据进行严格的校验（格式、长度、类型等），比如一个整型字段我们写入一个字符串类型的数据，在非严格模式下MySQL不会报错，同样如果定义了char或varchar类型的字段，当写入或更新的数据超过了定义的长度也不会报错。我...]]></description><category></category></item><item><title><![CDATA[PHP数组和XML相互转换的函数]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591214</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591214</guid><author>dingnie1973</author><pubDate>Fri, 22 Feb 2019 11:18:00 +0800</pubDate><description><![CDATA[//数组转xmlfunction ArrToXml($arr){    if(!is_array($arr) || count($arr) == 0) return '';        $xml = "&lt;xml&gt;";    foreach ($arr as $key=&gt;$val)    {        if (is_numeric($val)){          ...]]></description><category></category></item><item><title><![CDATA[base64格式的图片字符串和图片文件相互转换的代码]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591215</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591215</guid><author>dingnie1973</author><pubDate>Fri, 22 Feb 2019 11:17:00 +0800</pubDate><description><![CDATA[在移动端上传图片的时候通常会将图片转换成base64格式的字符串提交，所以此时需要使用服务器端的程序进行转换成二进制的数据。如下PHP代码实现了图片文件和base64格式的图片字符串相互转换的方法，同时保证了图片字符串转图片文件时数据类型的问题，进行了简单的封装，使用时可根据实际情况进行修改。具体查看如下代码：
class Img
{
	/**
		@param $base64S...]]></description><category></category></item><item><title><![CDATA[使用CURL实现GET和POST方式请求]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591213</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591213</guid><author>dingnie1973</author><pubDate>Fri, 22 Feb 2019 11:16:00 +0800</pubDate><description><![CDATA[CURL请求，支持GET和POST两种方式，默认为GET方式，如果传第二个参数则为POST方式请求，设置了超时时间，避免程序卡死。
/**
  使用curl方式实现get或post请求
  @param $url 请求的url地址
  @param $data 发送的post数据 如果为空则为get方式请求
  return 请求后获取到的数据
*/
function cu...]]></description><category></category></item><item><title><![CDATA[PHP7.x环境下安装redis扩展]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591212</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591212</guid><author>dingnie1973</author><pubDate>Fri, 22 Feb 2019 11:15:00 +0800</pubDate><description><![CDATA[注：以下介绍的安装方式为PHP的安装路径为/usr/local/php，如果你的服务器上PHP的安装目录不一致请按实际情况处理。



首先下载PHP7的redis扩展
wget https://github.com/phpredis/phpredis/archive/php7-ipv6.zip
#解压
unzip php7-ipv6.zip
cd phpredi...]]></description><category></category></item><item><title><![CDATA[ThinkPHP5中使用第三方类库]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591196</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591196</guid><author>dingnie1973</author><pubDate>Fri, 22 Feb 2019 11:14:00 +0800</pubDate><description><![CDATA[在TP5中有两种方式使用第三方类库，如果类库支持composer方式安装那就很方便了，使用composer安装的类库存储在Vendor目录下，可以直接使用，以phpmailer为例，使用如下命令安装：
composer require phpmailer/phpmailer
执行后会自动安装到Vendor目录下，TP5.1以后的版本全部使用命名空间自动加载，如需使用phpmailer...]]></description><category></category></item><item><title><![CDATA[使用PHP利用phpmailer发送电子邮件]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591197</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591197</guid><author>dingnie1973</author><pubDate>Fri, 22 Feb 2019 11:13:00 +0800</pubDate><description><![CDATA[先来几句废话：  phpMailer是一个非常强大的php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。  phpMailer的特点：  1、在邮件中包含多个 TO、CC、BCC 和 REPLY-TO。  2、平台应用广泛，支持的 SMTP 服务器包括 Sendmail、qmail、Postfix、Gmail、Ima...]]></description><category></category></item><item><title><![CDATA[使用CURL进行模拟登录采集数据]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591195</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591195</guid><author>dingnie1973</author><pubDate>Fri, 22 Feb 2019 11:08:00 +0800</pubDate><description><![CDATA[&lt;?php
$cookie_path = './'; //设置cookie保存路径        //-----登录要提交的表单数据---------------        $vars['username'] = '张三';        $vars['pwd'] = '123';         //----------------------------------...]]></description><category></category></item><item><title><![CDATA[Linux CentOS 搭建SVN并用钩子自动实现同步到Web目录]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591210</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591210</guid><author>dingnie1973</author><pubDate>Fri, 25 Jan 2019 16:54:00 +0800</pubDate><description><![CDATA[linux安装配置SVN并设置钩子



安装说明
系统环境：CentOS-6.3安装方式：yum install （源码安装容易产生版本兼容的问题）安装软件：系统自动下载SVN软件
检查已安装版本
#检查是否安装了低版本的SVN







1




rpm -qa subversion












...]]></description><category></category></item><item><title><![CDATA[mysql数据库怎么存入emoji表情]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591211</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591211</guid><author>dingnie1973</author><pubDate>Fri, 18 Jan 2019 11:05:00 +0800</pubDate><description><![CDATA[第一步
 设置数据库字符编码为utf8mb4_general_ci 设置相应表字段字符编码为utf8mb4_general_ci
第二步
 设置my.cnf增加以下配置信息
[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
...]]></description><category></category></item><item><title><![CDATA[MySQL优化必须调整的10项配置]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591216</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591216</guid><author>dingnie1973</author><pubDate>Fri, 18 Jan 2019 10:49:00 +0800</pubDate><description><![CDATA[这篇文章主要介绍了MySQL优化必须调整的10项配置,使用这些方法可以让你快速地获得一个稳健的MySQL配置,需要的朋友可以参考下当我们被人雇来监测MySQL性能时，人们希望我们能够检视一下MySQL配置然后给出一些提高建议。许多人在事后都非常惊讶，因为我们建议他们仅仅改动几个设置，即使是这里有好几百个配置项。这篇文章的目的在于给你一份非常重要的配置项清单。我们曾在几年前在博客里给出了这...]]></description><category></category></item><item><title><![CDATA[mysql 查询附近N公里内数据]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591209</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591209</guid><author>dingnie1973</author><pubDate>Fri, 18 Jan 2019 10:46:00 +0800</pubDate><description><![CDATA[mysql 查询一个地点(经纬度) 附近N公里内的数据。（根据一个地点的经纬度查询这个地点方圆几公里内的数据）1.创建测试表
CREATE TABLE `location` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `longitude` decimal(13,10) NO...]]></description><category></category></item><item><title><![CDATA[MySQL随机获取数据的方法，支持大数据量]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591208</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591208</guid><author>dingnie1973</author><pubDate>Thu, 17 Jan 2019 16:23:00 +0800</pubDate><description><![CDATA[最近做项目，需要做一个从mysql数据库中随机取几条数据出来。总所周知，order by rand 会死人的。。因为本人对大数据量方面的只是了解的很少，无解，去找百度老师。。搜索结果千篇一律。特发到这里来，供大家学习。在mysql中带了随机取数据的函数，在mysql中我们会有rand()函数，很多朋友都会直接使用，如果几百条数据肯定没事，如果几万或百万时你会发现，直接使用是错误的。下面我...]]></description><category></category></item><item><title><![CDATA[MYSQL数据表损坏的原因分析和修复方法小结]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591207</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591207</guid><author>dingnie1973</author><pubDate>Thu, 17 Jan 2019 16:01:00 +0800</pubDate><description><![CDATA[MYSQL数据表损坏的原因分析和修复方法小结
1.表损坏的原因分析 以下原因是导致mysql 表毁坏的常见原因： 1、 服务器突然断电导致数据文件损坏。 2、 强制关机，没有先关闭mysql 服务。 3、 mysqld 进程在写表时被杀掉。 4、 使用myisamchk 的同时，mysqld 也在操作表。 5、 磁盘故障。 6、 服务器死机。 7、 mysql 本身的bug 。 
2...]]></description><category></category></item><item><title><![CDATA[Nginx+php-fpm 502 504问题]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591205</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591205</guid><author>dingnie1973</author><pubDate>Wed, 31 Oct 2018 15:00:00 +0800</pubDate><description><![CDATA[环境:
主机: 阿里云 双核CPU 2G内存OS: centos 6.4 64位
思路:
增大nginx与php-fpm通信时的缓存文件大小与个数
静态绑定5个php-fpm进程,减少频率启动进程的开销
利用sock文件代替tcp端口通信(本地机约可提高10%的性能)
解决办法:
调整Nginx 和 php-fpm的参数如下
# nginx.conf location...]]></description><category></category></item><item><title><![CDATA[让Nginx支持pathinfo]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591204</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591204</guid><author>dingnie1973</author><pubDate>Wed, 31 Oct 2018 14:56:00 +0800</pubDate><description><![CDATA[Nginx服务器默认不支持pathinfo, 在需要pathinfo支持的程序中(如thinkphp),则无法支持”/index.php/Home/Index/index”这种网址
网上流传的解决办法很多,这里提供一种比较简洁的写法(只需要改动2行代码)

# 典型配置
location ~ \.php$ {   root           html;   fas...]]></description><category></category></item><item><title><![CDATA[PHP和Redis实现在高并发下的抢购及秒杀功能示例详解]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591199</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591199</guid><author>dingnie1973</author><pubDate>Wed, 31 Oct 2018 14:41:00 +0800</pubDate><description><![CDATA[抢购、秒杀是平常很常见的场景，面试的时候面试官也经常会问到，比如问你淘宝中的抢购秒杀是怎么实现的等等。抢购、秒杀实现很简单，但是有些问题需要解决，主要针对两个问题：一、高并发对数据库产生的压力二、竞争状态下如何解决库存的正确减少（"超卖"问题）第一个问题，对于PHP来说很简单，用缓存技术就可以缓解数据库压力，比如memcache，redis等缓存技术。第二个问题就比较复杂点：常规写法：查...]]></description><category></category></item><item><title><![CDATA[spl_autoload_register 实现自动加载]]></title><link>https://blog.csdn.net/dingnie1973/article/details/101591198</link><guid>https://blog.csdn.net/dingnie1973/article/details/101591198</guid><author>dingnie1973</author><pubDate>Wed, 31 Oct 2018 14:39:00 +0800</pubDate><description><![CDATA[spl_autoload_register
(PHP 5 &gt;= 5.1.2, PHP 7)
spl_autoload_register — 注册给定的函数作为 __autoload 的实现
语法
bool spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $p...]]></description><category></category></item></channel></rss>