redis安装到windows

2016-05-16 10:14:00

windows下安装redis先phpinfo看下自己php和电脑相关环境版本:PHP Version 5.6.15System        Windows NT DEV-3 6.1 build 7601 (Windows 7 Ultimate Edition Service Pack 1) i586Compiler     MSVC11 (Visual C++ 2012)Architecture     x86虽然我用的是x64系统,但是环境用的是x86的,所以下载redis扩展应对应下载 5.6 Thread Safe (TS) x86non-thread-safe 非线程安全 与IIS搭配环境thread-safe  线程安全 与apache搭配环境下载地址:php_redis扩展下载https://pecl.php.net/package/redis/2.2.7/windowsredis安装包下载https://github.com/dmajkic/redi...

阅读全文

mysql 逗号分隔查询

2016-05-13 10:36:00

FIND_IN_SET(str,strlist) str为要查询的字符串;strlist需是以逗号分隔的字符串;第一个参数不可以有(','); 查询有结果则返回记录行,没有则为空例:SELECT * from test where FIND_IN_SET('3',strlist);strlist为要查询的字段,'3'为要查询的数据比如strlist的数据有(2,3,4),(5,13,23),(7,36,33),(3)则查到的数据为第一条和最后一条 它不同于 like 模糊查询,它是以“,”来分隔值like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于或等于like查询的结果。 FIND_IN_SET还可以用来替代in的功能,如:SELECT * from test where FIND_IN_SET(id,'2,5,3,9'); /*...

阅读全文

禁用phpinfo()的几种方法

2016-05-12 18:33:00

如何禁用phpinfo()1>只需在php.ini里,找到“disable_functions = ; ”,在等号后写上phpinfo即可disable_functions = phpinfo; 2>但是,不是每个人都可以接触php.ini这个文件的,特别是虚拟主机用户,怎么屏蔽呢?于是有人想到了php的修改配置的函数,ini_set('disable_functions','phpinfo'); 测试过,ini_set无法配置该项,只能另想办法 可以利用正则匹配到所有输入的内容,或者是扫描文件有phpinfo的则给替换掉提示信息:“phpinfo已被禁用!”代码:$data = preg_replace('/phpinfo\((.*)\)/', "echo 'phpinfo已被禁用!'", $data);

阅读全文

关于ajax部分方法与IE8冲突的问题

2016-05-06 18:04:00

今天在一个项目中用到ajax的post提交数据时,发现firefox和google以及IE11都是正常的, 唯独IE8异常,左下角报错警告:“网页上有错误”。刚开始以为IE8与ajax存在兼容性问题,网上查发现的确有人碰见类似的错误,但是根据错误种类,我排除了兼容性的问题 于是,只好采用排除法来检查了,发现有2处有问题:$.post( posturl,{orderstr}, function(data){ var obj = JSON.parse(data); $('#notice').text(obj.msg); });第一处:posturl,{orderstr},此处应该为:posturl,{orderstr:orderstr},firefox和google在参数没有名字时,默认会把参数值当做参数名,而IE8不会; 第二处:var obj = JSO...

阅读全文

伪静态设置及注意事项 403/404错误调试

2016-04-21 09:18:00

在做伪静态设置的时候,发现不是报403错误,就是404,百度一下可以总结为两大问题源:一服务器配置问题(常见403错误),二.htaccess伪静态规则没写对。伪静态设置及注意事项 403/404错误调试方法 比如,403错误解决问题修改apache配置:1.启用rewrite_module;2.目录权限设置<Directory "F:/www"> Options Indexes FollowSymLinks AllowOverride all </Directory> 有设置多域名的VirtualHost 也要设置:Options Indexes FollowSymLinks3.还有就是检查.htaccess规则 伪静态注意事项:.htaccess需放到网站根目录;注意权限设置,例如:# 禁止PHP文件运行<FilesMatch (.*)\.php$> order allow,deny deny from...

阅读全文

mysql重复字段查询

2016-03-30 10:19:00

mysql重复字段查询:按重复字段name查询,筛选数据为idSELECT id, name, score, GROUP_CONCAT(id order by id ASC separator ',') AS someid FROM testtb WHERE 1 GROUP BY name;按重复字段score查询,筛选数据为idSELECT id, name, score, GROUP_CONCAT(id) AS someid FROM testtb WHERE 1 GROUP BY score;GROUP_CONCAT与GROUP BY一起用,group by后面的字段为要查询的重复字段,GROUP_CONCAT里面的字段为重复记录里面其他字段值的集合, separator是符号分隔符,如果没有,默认为逗号(,)

阅读全文

php 整数反转不同方法实现

2016-03-29 17:09:00

<?php //数组分割,array_reverse为将数组倒叙 function func1($aa){ return implode('', array_reverse(str_split($aa))); } //递归实现,取余和取整 function func2($aa,$bb=''){ if($aa>=10){ $bb.=$aa%10; $aa=intval($aa/10); func2($aa,$bb); }else{ $bb.=$aa; echo $bb; } } //循环取余和取整 function func3($aa){ $n = strlen($aa); $bb = ''; for ($i=0; $i <$n ; $i++) { $bb .= $aa%10; $aa = intval($aa/10); } return $bb; } //循环取余和取整 function func4($n){ $m = 0; while ($n > 0) { $m .=...

阅读全文

ajax无刷新修改文本框内容

2016-03-21 11:50:00

ajax无刷新修改文本框内容,获得焦点修改,失去焦点保存上传<script> function changesort(id){ var sortid = $('#id_'+id).val(); $.post( '/index.php?c=ajax_update_sort', {sid:sid,ssort:sortid}, function(data){ //alert(data); }); } </script>文章排序:<input type="text" id="id_<?php echo $id; ?>" onblur="changesort(<?php echo $id; ?>)" value="<?php echo $sort; ?>">onblur是鼠标失去焦点触发changesort方法,然后post提交数据修改  当然要实现双击变成文本类型,然后修改,添加一个click事件,把div变成input文本框就可以,失去焦点...

阅读全文

html5+jquery选择产品属性框

2016-03-17 17:39:00

html5+jquery选择产品属性框,原理:实际上是在label下隐藏了一组randio单选按钮<script> $(function(){ $('.sel-type :first-child').css({'background-color':'#FF9900','color':'#fff'}); $('.sel-type :radio:first').attr('checked','checked'); $('.sel-type :input').hide(); $('.sel-type a').click(function(){ $('.sel-type a').css({'background-color':'#fff','color':'#333'}); $(this).css({'background-color':'#FF9900','color':'#fff'}); }); }); </script> <style> .sel-type a{margin: 10px;padding: 5px;height: 25px;width: 115px;border:1px solid gray; color: #3...

阅读全文

php 修改数组键名

2016-03-16 18:38:00

方法一:先增加,在删除:$v['newname']=$v['oldname']; unset($v['oldname']);方法二:删除所有键名,键名会从0开始计数array_values($arr);方法三:拆分,修改,再组合$key=array_keys($arr); $key[5]='newname'; $val=array_values($arr); $newarr=array_combine($keys, $val);

阅读全文

微信支付常见问题一:CURLOP_TIMEOUT和curl_close()报错

2016-02-26 10:45:00

刚下载的PHP版的"微信帐号支付DEMO"配置好“WxPay.pub.config.php”里的所有参数,调试时却发现报一大堆错误:Notice: Use of undefined constant CURLOP_TIMEOUT - assumed 'CURLOP_TIMEOUT' in /www/web/other/freyun/public_html/pay/cs/WxPayPubHelper/WxPayPubHelper.php on line 821 Warning: curl_setopt() expects parameter 2 to be long, string given in /www/web/other/freyun/public_html/pay/cs/WxPayPubHelper/WxPayPubHelper.php on line 821 Notice: Use of undefined constant CURLOP_TIMEOUT - assumed 'CURLOP_TIMEOUT' in /www/web/other/freyun/public_html/pay/cs/WxPayPubHelper/WxPayPubHelper.php on line 155 W...

阅读全文

mysql批量插入insert into性能优化

2016-02-24 16:50:00

源代码:<?php //批量插入 function insertAll($tbname,$info){ if(!is_array($info[0])) return false; $data = array(); foreach ($info as $value) { $data[] = '('.implode(',', $this->array_batch($value,"'")).')'; } $fields = '('.implode(',', array_keys($info[0])).')'; $sql = "insert ".$tbname." ".$fields." values ".implode(',', $data); return $this->db->query($sql); }//数组批量处理 function array_batch($info,$bat="'"){ $data = array(); foreach ($info as $key => $value) { $data[$key] = $bat.$value.$bat; } return $data; } ?&gt...

阅读全文

html5表单验证替代JS

2016-02-23 17:46:00

如下栗子:<input type="tel" title="手机号码正确格式,如:13212345678" pattern="^[1][3456789][0-9]{9}$" required placeholder="请输入手机号码"> 在表单里,input加上required属性的,意思就是内容不允许为空pattern是正则匹配,如:手机号码匹配:"^[1][3456789][0-9]{9}$"只能包含三个字母的文本字段(数字或特殊字符):"[A-z]{3}"placeholder为文本框里面的提示内容,想必大家都知道了。 当然还有(相信日后会增加更多):最大长度不能超过140:<input type="text" maxLength="140">输入类型必须为email格式:<input type="email">输入类型必须为数字,且必须在1~100之间<input type="number" min="1" m...

阅读全文

极简PHP无限极分类生成树方法

2015-12-12 13:13:00

你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了。该方法,巧在 地址引用$items = array( 1 => array('id' => 1, 'pid' => 0, 'name' => '安徽省'), 2 => array('id' => 2, 'pid' => 0, 'name' => '浙江省'), 3 => array('id' => 3, 'pid' => 1, 'name' => '合肥市'), 4 => array('id' => 4, 'pid' => 3, 'name' => '长丰县'), 5 => array('id' => 5, 'pid' => 1, 'name' => '安庆市'), ); function generateTree1($items){ $tree = array(); foreach($items as $item){ if(isset($items[$item['pid']]...

阅读全文