• 尼玛,日本机房又抽风了吗?

    入手Linode前曾仔细观察测试了六个机房的速度,其中就在Fremont与日本机房之间纠结,不知该选哪个?最后还是选择了小日本。

    网站上线没到一个月就出现ping值过高,当时误以为可能是暂时的,没太在意。

    尼玛,现在ping值又到400-500间了,还偶尔有掉包情况!小日本机房估计是待不下了,正在考虑把机房从小日本迁到Fremont中。。。

    本机ping值结果

    full

    站长工具ping结果

    full

    ...

    READ ALL

  • 惨:我的Win7被黑屏了

    鼠标都不显示

    这事是几天前,当时下班回来像往常一样打开电脑,显示登录界面的时候输入密码回车随即登录界面渐变消失黑屏状态,误以为是系统正在加载程序没太在意。等了将近两分钟后发现还是黑屏状态感觉不对劲就冷启动,同样到登录界面输入密码回车后黑屏,这一次我观察了将近十五分钟发现屏幕还是一片漆黑,鼠标,任务栏都不显示,立即确定系统出问题了。

    Ctrl+Alt+Delete 有反应

    首先,很快判断这不是电脑硬件问题,因为登录界面都能正常显示,按Ctrl + Alt + Delete可以打开提示操作界面并操作,但点击启动任务管理器就又黑屏了。锁定切换用户等其他操作都正常,这下是彻底没辙了。

    ...

    READ ALL

  • 一个PHP生成短网址函数

    短网址相比大家都不陌生吧,特别是微博上的应用更是把它带火了,其实要实现这个功能也很简单。

    <?php
    /**
     * 琼台博客 www.qttc.net
     * 短网址
     */
     
    function urlShort($url){
      $url= crc32($url);
      $result= sprintf("%u", $url);
      $sUrl= '';
      while($result>0){
        $s= $result%62;
        if($s>35){
          $s= chr($s+61);
        } elseif($s>9 && $s<=35){
          $s= chr($s+ 55);
        }
        $sUrl.= $s;
        $result= floor($result/62);
      }
      return $sUrl;
    }
    
    $url = 'www.qttc.net';
    $sUrl = urlShort($url);
    
    echo '<meta charset="utf-8" />';
    echo '网址:'.$url.'<br />';
    echo '短网址:'.$sUrl;
    ?>
    

    ...

    READ ALL

  • PDO不能使用预处理的两处地方

    有些童鞋使用预处理方式取数据库信息时发现结果是空,但数据库的确存在信息。这个是新手经常忽略的一个地方,甚至可能调试半天都不知道问题出在哪里?

    MySQL中的LIMIT关键字不能使用预处理

    错误的: 以下语句在LIMIT中使用了:start:num预处理绑定参数方式导致取不出数据,但不会报错

    <?php
    // 琼台博客 www.qttc.net
    $pdo = new PDO('mysql:host=localhost;dbname=test',root,root);
    $start = 20;
    $num = 10;
    $sql = 'SELECT * FROM tab LIMIT :start,:num';
    $stmt = $pdo->prepare($sql);
    $param = array(':start'=>$start,':num'=>$num);
    $stmt->execute($param);
    $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
    var_dump($data); 
    ?>
    

    ...

    READ ALL

  • 【公告】小站已开启RSS支持

    一直以来,就没有把RSS当作一回事,也没有使用RSS阅读器的习惯。小站开通到现在得益于许多博友的支持,同时也有部分博友一直希望小站支持RSS。

    决定研究RSS

    趁端午节捣鼓了一番,发现RSS也是XML的一种,也差不多属于一种标准。利用RSS阅读器不需要挨个去逛每个网站看看有没有最新文章发布。经过搜索,编写于今天上线。

    RSS火狐测试截图

    full

    RSS地址: www.qttc.net/rss.xml

    欢迎各位博友订阅

    ...

    READ ALL

  • PHP一个时间格式转换实例

    目前已知一个时间,如 2012-06-25 13:22:17

    要转换为 Mon, 25 Jun 2012 13:22:17 +0800

    要实现这个功能只能先把时间转换为时间戳,然后再转为为目标格式。主要使用date函数,我之前也写过一篇文章《PHP函数date与time使用》

    代码

    <?php
    /**
     * PHP时间格式转换
     * 琼台博客 www.qttc.net
     */
    echo '<meta charset="utf-8" />';
    // 拟设一个时间格式
    $a = '2012-06-25 13:22:17';
    echo "目前格式:\t".$a.'<br />';
     
    // 把时间转换为时间戳
    $ux = strtotime($a);
    echo "日期转时间戳:\t".$ux.'<br />';
     
    // 获取目标格式
    $b = date('r',$ux);
    echo "目标格式:\t".$b;
    ?>
    

    ...

    READ ALL

  • PHP随机产生一组不重复的数字

    在PHP里,要实现这个功能非常容易,没什么技术含量。但哪种执行效率更高一些呢?我写了两种获取随机数的方式。

    第一种

    <?php
    /**
     * PHP获取一组随机数字不重复
     * 琼台博客 www.qttc.net
     */
    $a = microtime();
    function createRandID($m){
      // 产生一个从1到$m的数组
      $arr = range(1,$m);
      // 打乱数组
      shuffle ($arr); 
      // 取前十个
      for($i=0;$i<=10;$i++){
        // 赋值给新数组$n
        $n[] = $arr[$i];    
      }
      // 返回这组数字
      return implode($n,',');
    }
     
    echo createRandID(700000);
    echo '<br />';
    echo $a - microtime();
    ?>
    

    ...

    READ ALL

  • CSS3 calc方法

    CSS3有一个calc()方法,应该是calculate的简称,语法

    calc(expression)

    里面是一个表达式,CSS一直不能做加减运算,这也是CSS不够灵活的地方,但在calc就可以做一些简单的运算

    看看W3C对表达式的描述

    Required. A mathematical expression. The result will be used as the value
    The following operators can be used: + - * /

    很明显,这个表达式可以用加减乘除

    /*
     * Nichoals Lee www.qttc.net
     */
    #div1 {
      position: absolute;
      left: 50px;
      width: calc(100% - 100px);
      border: 1px solid black;
      background-color: yellow;
      padding: 5px;
      text-align: center;
    }
    

    ...

    READ ALL

  • 一个PHP带公钥加密类,很实用哦

    Web交互安全一直是个各大网站的首要解决方案,本文介绍的PHP加密类非常实用哦,带有公钥,这是最大的亮点,没有公钥是不能解密的,加密度非常高。

    看看Wiki介绍

    公开密钥加密(英语:Public-key cryptography),也称为非对称加密(英语:asymmetric cryptography),是密碼學的一種演算法,它需要兩個密钥,一個是公開金鑰,另一個是私有密鑰;一個用作加密的時候,另一個則用作解密。使用其中一個密钥把明文加密后所得的密文,只能用相對應的另一個密钥才能解密得到原本的明文;甚至連最初用來加密的密鑰也不能用作解密。由於加密和解密需要兩個不同的密鑰,故被稱為非對稱加密;不同於加密和解密都使用同一個密鑰的對稱加密。雖然兩個密鑰在数学上相关,但如果知道了其中一个,并不能憑此计算出另外一个;因此其中一个可以公开,称为公钥,任意向外發佈;不公开的密钥为私钥,必須由用戶自行嚴格秘密保管,絕不透過任何途徑向任何人提供,也不會透露給要通訊的另一方,即使他被信任。

    ...

    READ ALL

  • 防SQL注入的一些方法

    所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,这类表单特别容易受到SQL注入式攻击。SQL注入一直是WEB程序安全性的指标之一,也是必备防范的一种安全应用。那么,如何防止SQL注入呢?

    限制类型

    打个比方,比如有一个列表,用户可以输入一个数字跳到该页,像这种需求可以直接把输入框用JavaScript限制用户只能输入数字,其它字符不允许。PHP接收到参数的时候,直接判断是不是数字即可。

    永远不要相信表单数据

    表单的出现,是Web程序的一个里程碑,但也成为许多SQL注入的漏洞之一。永远记得:只要是用户输入的,就一定要进行相应的验证。

    ...

    READ ALL