未来往事
把艰辛的奋斗看作是生命的必然,即使没有收获的希望也心平气和的继续。 [2018年 第21周/共52周]

Bo-Blog验证码不显示

PHP升级到5.4.X后Bo-Blog验证码不显示

博客VPS上的PHP由之前的5.2.x升级到了5.4.10后,有网友邮件过来反馈博客文章不能评论了 验证码不显示。

鉴于博客程序比较古老,猜测原因可能为验证码获取方法类/程序文件中使用了PHP 5.4废弃的函数。经查看源代码后发现程序中用到session_register函数为PHP5.4已废弃的函数,PHP 5.4后直接使用$_SESSION['session_name']='value' 取代,无需注册,直接赋值。

这里对session_register('code'); 进行注释后验证码显示恢复正常。

......
+阅读全文

Discuz QQ互联登录错误当前存在网络问题或服务器繁忙解决

QQ互联登录失败彻底解决方法
QQ互联错误:抱歉,当前存在网络问题或服务器繁忙,详细错误:connect_error_code_20003,错误代码:20003 ,请您稍候再试。谢谢。

1、去官网下载最新程序:把source\plugin\qqconnect  把这个文件删除 重新换成最新的。
2、去论坛后台重新开通QQ互联。
3、去应用-插件-QQ互联里-安装-全部覆盖
4、更新数据库
5、正常了。

注意:
1、服务器时间快或慢或时区错误
可以通过后台&......
+阅读全文

php检测是否https协议访问

php检测访问协议https/http,php判断访问协议
  1. /* 
  2. * 检测链接是否是SSL连接 
  3. * @return bool 
  4. */  
  5. function is_https(){  
......
+阅读全文

PHP人民币大小写转换类(MoneyConvertor_CLS)

人民币大小写转换类 PHP:
  1. /**  
  2.  * MoneyConvertor Library For PHP 
  3.  * 人民币大小写转换类 
  4.  * --------------------------------------------------- 
  5.  * @site  http://fity.cn/post/534/ 
  6.  * @describe   对人民币进行大小写转换的类,该方法可以完美转换任何形式小写货币格式为人民币大写 
  7.  */  
  8.   
  9. final class MoneyConvertor {  
  10.     
  11.   //大写数字  
  12.   private $NUMBER_STR = array(  
  13.     "零","壹","贰","叁","肆","伍","陆","柒","捌","玖"  
  14.   );  
  15.     
  16.   //整数位货币单位  
  17.   private $I_UNIT_STR = array(  
  18.     "元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"  
  19.   );  
  20.     
  21.   //小数位货币单位  
  22.   private $D_UNIT_STR = array(  
  23.     "角","分","厘"  
  24.   );  
  25.     
  26.   //转换结果  
  27.   private $resultString = null;  
  28.   
  29.   /** 
  30.    * 使用一个小写数字金额的字符串来转换resultString对象 
  31.    * --------------------------------------------------- 
  32.    * @param  $numberStr    将要转换的小写数字金额 
  33.    * @return   $this->resultString 
  34.    */  
  35.   
  36.   public function convert($numberStr) {  
  37.       
  38.     //处理小数位为0  
  39.     if(preg_match('/^[0-9]+\.[0]+$/',$numberStr))  
  40.       $numberStr = intval($numberStr);  
  41.       
  42.     //补齐类似.5这样的无整数位数字  
  43.     if(substr($numberStr, 0, 1) == '.')  
  44.       number_format($numberStr);  
  45.       
  46.     //如果带逗号分隔符的数字  
  47.     if(strpos($numberStr','))  
  48.       $numberStr = str_replace(",","",$numberStr);  
  49.       
  50.     //判断是否为数字  
  51.     if (!is_numeric($numberStr))  
  52.       return '不是有效的货币数值';  
  53.       
  54.     //执行转换  
  55.     self::convertor($numberStr);  
  56.       
  57.     //返回转换结果  
  58.     return $this->resultString;  
  59.   }  
  60.     
  61.     
  62.   /** 
  63.    * 执行转换 
  64.    * --------------------------------------------------- 
  65.    * @param  $numberStr    将要转换的小写数字金额 
  66.    * @return   void 
  67.    */  
  68.   private function convertor($numberStr){  
  69.     //分差整数与浮点位,整数和小数部分分开,分别进行转换  
  70.     $cutedNumber = explode('.', (string)$numberStr);  
  71.   
  72.     //如果只有整数部分  
  73.     if (count($cutedNumber) == 1) {  
  74.       self::convertInteger($numberStr, TRUE);  
  75.     } else {  
  76.       self::convertInteger($cutedNumber[0]);  
  77.       self::convertDecimal($cutedNumber[1]);  
  78.     }  
  79.   
  80.     //去除无用零字符  
  81.     self::removeZero();  
  82.   }  
  83.     
  84.   /** 
  85.    * 对整数部分进行转换 
  86.    * ------------------------------------------------------------------ 
  87.    * @param  $integer        将要转换的小写数字整数部分 
  88.    * @param  $without_fractional    是否原数不带浮点数,即在最后显示“整” 
  89.    * 
  90.    * @return   $this 
  91.    */  
  92.   private function convertInteger($integer$without_fractional = false) {  
  93.     $resultString = null;  
  94.         
  95.     for ($i = 0; $i < strlen($integer); $i++) {  
  96.       $resultString .= $this->I_UNIT_STR[$i];  
  97.       $resultString .= $this->NUMBER_STR[substr(strrev($integer), $i, 1)];  
  98.     }  
  99.     //如果没有小数位  
  100.     $tidy = $without_fractional == false ? '' : '整';  
  101.     $this->resultString = self::str_reverse($resultString) . $tidy;  
  102.   
  103.     return $this;  
  104.   }  
  105.   
  106.   /** 
  107.    * 对小数点后三位部分进行转换 
  108.    * ------------------------------------------------------------------ 
  109.    * @param  $integer        将要转换的小数点后三位部分 
  110.    * @return   $this 
  111.    */  
  112.   private function convertDecimal($decimal) {  
  113.       
  114.     $resultString = null;  
  115.       
  116.     for ($i = 0; $i < strlen($decimal); $i++) {  
  117.       $resultString .= $this->NUMBER_STR[substr($decimal$i, 1)];  
  118.       $resultString .= $this->D_UNIT_STR[$i];  
  119.     }  
  120.     $this->resultString .= $resultString;  
  121.   
  122.     return $this;  
  123.   }  
  124.   
  125.   /** 
  126.    * 去掉多余的"零X" 
  127.    * ------------------------------------------------------------------ 
  128.    * @return   $this 
  129.    */  
  130.   private function removeZero() {  
  131.     while (strpos($this->resultString, "零拾") || strpos($this->resultString, "零佰") || strpos($this->resultString, "零仟") || strpos($this->resultString, "零万") || strpos($this->resultString, "零亿") || strpos($this->resultString, "零角") || strpos($this->resultString, "零分") || strpos($this->resultString, "零厘") || strpos($this->resultString, "零零") || strpos($this->resultString, "亿万") || strpos($this->resultString, "零元")) {  
  132.       $this->resultString = str_replace("零拾""零"$this->resultString);  
  133.       $this->resultString = str_replace("零佰""零"$this->resultString);  
  134.       $this->resultString = str_replace("零仟""零"$this->resultString);  
  135.       $this->resultString = str_replace("零万""万"$this->resultString);  
  136.       $this->resultString = str_replace("零亿""亿"$this->resultString);  
  137.       $this->resultString = str_replace("零角""零"$this->resultString);  
  138.       $this->resultString = str_replace("零分""零"$this->resultString);  
  139.       $this->resultString = str_replace("零厘""零"$this->resultString);  
  140.       $this->resultString = str_replace("零零""零"$this->resultString);  
  141.       $this->resultString = str_replace("亿万""亿"$this->resultString);  
  142.       $this->resultString = str_replace("零元""元"$this->resultString);  
  143.     }  
  144.   
  145.     return $this;  
  146.   }  
  147.   
  148.   /** 
  149.    * 中文UTF-8字符串反转 
  150.    * ------------------------------------------------------------------ 
  151.    * @param   $str  需要转换的UTF-8字符串 
  152.    * @return   void 
  153.    */  
  154.   function str_reverse($str) {  
  155.     //判断输入的是不是utf8类型的字符,否则退出  
  156.     if (!is_string($str) || !mb_check_encoding($str'UTF-8')) {  
  157.       return;  
  158.     }  
  159.     $array = array();  
  160.     //将字符串存入数组  
  161.     $l = mb_strlen($str'UTF-8');  
  162.     for ($i = 0; $i < $l$i++) {  
  163.       $array[] = mb_substr($str$i, 1, 'UTF-8');  
  164.     }  
  165.     //反转字符串  
  166.     krsort($array);  
  167.     //拼接字符串  
  168.     $string = implode($array);  
  169.     return $string;  
  170.   }  
  171.   
  172. }  

使用方法:
+阅读全文

php模拟get提交数据请求

本文介绍几种php模拟发送get请求方法

file_get_contents 模拟发送 get 请求


  1. $sourceUrl='http://fity.cn/action/id/1';  
  2. $res=file_get_contents($sourceUrl);  
......
+阅读全文

jQuery error()替换载入错误的图片

jQuery error()替换载入错误的图片

error()函数
当元素遇到错误(没有正确载入)时,发生 error 事件。
error() 方法触发 error 事件,或规定当发生 error 事件时运行的函数。
提示:该方法是 bind('error', handler) 的简写方式。

示例:如果图片不存在,则用预定义的图片取代它:
  1. $('img').error(function(){  
  2.             $(
......
+阅读全文

jQuery移除class对应绑定的事件

jQuery移除class对应的事件

在使用jQuery进行class更改后发现class对应的点击事件并没有发生改变,究其原因需要在类改变后用off()将之前绑定在类上的事件取消,如果需要事件则重新绑定。

off()函数
用于移除元素上绑定的一个或多个事件的事件处理函数。主要用于解除由on()函数绑定的事件处理函数。

例如:
  1. $("#butclass").removeClass("openbuy");  
  2. $('#butclass').off(); 
......
+阅读全文

js返回上一页并刷新页面

js返回上一页并刷新页面
  1. <script type="text/javascript">  
  2.  javascript:history.go(-1);  
  3.  self.location=document.referrer;  
  4. </script>  

......
+阅读全文

jquery实时监听input输入框值变化

jquery实时监听某输入框值的变化

//实时监听password输入框值并赋值到password2输入框中
  1. $('#password').bind('input propertychange'function() {  
  2.   var pw= $('#baseReg .js_pass').val();  
......
+阅读全文

Discuz $()与JQuery $()冲突解决方法

问题描述:默认情况下,Discuz引入jQuery代码后直接使用 $(),运行后会报错。

原因分析:Discuz默认使用了$()作为对象选取函数,刚好与jQuery默认的$()函数重合造成冲突。Discuz $()对象选取函数代码位于static/js/common.js第8-10行:
  1. function $(id) {  
  2.   return !id ? null : document.getElementById(id);  
......
+阅读全文

Thinkphp访问静态资源提示无法加载模块 nginx

说明信息:
Thinkphp版本:3.2
URL_MODEL配置2

解决方法:
rewrite ^/Public/(.*)$ /Public/$1 break; //加在下面这行规则上面,假设静态资源位于根目录下Public目录下
rewrite ^(.*)$ /index.php?s=$1 last;
......
+阅读全文

Thinkphp smarty $Think模版系统变量

ThinkPHP整合smarty后$Think模版系统变量的用法是$smarty,如$smarty.get.id

......
+阅读全文

Jquery replace

Jquery字符替换replace

示例:将下列html代码中图片SRC地址中的www.fity.cn域名修改为fity.cn:

  1. <a id="smallogo" href="http://fity.cn"
......
+阅读全文

Discuz在电脑上访问手机版和触屏版方法

Discuz在电脑上访问并切换手机版和触屏版方法

1、在浏览器上安装 User Agent Switcher 插件,然后切换用户代理模式
2、修改discuz程序源码中static\js\mobile\common.js文件,注释下面的代码:
  1. /*var supporttouch = "ontouchend" in document;  
  2. !supporttouch && (window.location.href = 'forum.php?mobile=1');*/   

......
+阅读全文

PHP在已有日期时间上加一天

PHP在原有日期时间上加上一天:
  1. $date = date('Y-m-d',strtotime('+1 d',strtotime('2015-06-08')));  
  2. echo 
......
+阅读全文