小小苏手机拯救行动

今天用了一下小小苏的手机,她用的是我换下来的iPhoneSe,原来一直是我的备用机,我用手机有个习惯,只要是我用过的手机都是十分干净整洁的,几乎和新的一模一样,今天一用小小苏的手机就感觉不对劲,HOME键按下的时候一直有咔咔的声音,我第一时间判断应该是进灰了,小小苏太不爱惜自己的东西了,这一点完美的继承了闫总的习惯,闫总现在的7P摄像头还是坏的,,都是自己摔的。
废话不多说,既然找了到问题的所在就准备开始动手解决吧

阅读

一场尴尬的家族式聚餐

今天是我三叔家女儿二胎摆满月酒,差不多十几年没见面的大姑、二姑、大爷家的哥哥、姐姐们聚合到了一起,由于之前我爷爷奶奶遗产分配的问题大家闹得十分不和谐,而且我从小就和我母亲家的亲戚走的很近,反之和我父亲家的基本不怎么走动,亲戚亲戚,越走越亲说的一点不错。

阅读

无期

阅读

Typecho友链插件启用错误

今天晚上咋地也睡不着了,想着把友链弄一下,后来还是打算用插件吧,省事,谁知道启动插件提示错误信息:数据表建立失败,友情链接插件启用失败。错误号:42S01,想着可能就是原来用友人C的时候插件写入了数据库,导致了数据库表重复,只能修改数据库表了。

  1. 进数据库把 typecho_links 这张表备份到本地(或者把整个数据库备份);
  2. 备份好了之后,把typecho_links这张表删除;
  3. 再进入网站后台,重新启用插件(这时候不报错了);
  4. 最后把刚刚备份在本地的typecho_links表重新导入到数据库里。

后来百度了一下,还有一种简单的解决办法,加个判断语句就行了

$code = $e->getCode();
    if(('Mysql' == $type && 1050 == $code) ||
            ('SQLite' == $type && ('HY000' == $code || 1 == $code))) {
        try {
            $script = 'SELECT `lid`, `name`, `url`, `sort`, `image`, `description`, `user`, `order` from `' . $prefix . 'links`';
            $installDb->query($script, Typecho_Db::READ);
            return '检测到友情链接数据表,友情链接插件启用成功';                    
        } catch (Typecho_Db_Exception $e) {
            $code = $e->getCode();
            if(('Mysql' == $type && 1054 == $code) ||
                    ('SQLite' == $type && ('HY000' == $code || 1 == $code))) {
                return Links_Plugin::linksUpdate($installDb, $type, $prefix);
            }
            throw new Typecho_Plugin_Exception('数据表检测失败,友情链接插件启用失败。错误号:'.$code);
        }
    } else if('Mysql' == $type && '42S01' == $code){
        /* 如果数据库存在 */
        $script = 'SELECT `lid`, `name`, `url`, `sort`, `image`, `description`, `user`, `order` from `' . $prefix . 'links`';
        $installDb->query($script, Typecho_Db::READ);
        return '检测到友情链接数据表,友情链接插件启用成功';**
    } else {
        throw new Typecho_Plugin_Exception('数据表建立失败,友情链接插件启用失败。错误号:'.$code);
    }

我是直接删除了数据库的typecho_links表,此问题完美解决。

个人博客运行时间统计代码

做统计时间的思路就是从你开始建站的时间戳到现在的时间戳的差,然后除以1年内多少秒就得到运行的年,月、天以此例推。但话又说回来这还是有点偏差,因为一年有闰年和闰月之说,所有多一天和少一天的时间戳是有误差的,这点大家要明白。知道原理了,下面来看看代码吧

<script>
    function secondToDate(second) {
        if (!second) {
            return 0;
        }
        var time = new Array(0, 0, 0, 0, 0);
        if (second >= 365 * 24 * 3600) {
            time[0] = parseInt(second / (365 * 24 * 3600));
            second %= 365 * 24 * 3600;
        }
        if (second >= 24 * 3600) {
            time[1] = parseInt(second / (24 * 3600));
            second %= 24 * 3600;
        }
        if (second >= 3600) {
            time[2] = parseInt(second / 3600);
            second %= 3600;
        }
        if (second >= 60) {
            time[3] = parseInt(second / 60);
            second %= 60;
        }
        if (second > 0) {
            time[4] = second;
        }
        return time;
    }
</script>
<script type="text/javascript" language="javascript">
    function setTime() {
        // 博客创建时间秒数,时间格式中,月比较特殊,是从0开始的,所以想要显示5月,得写4才行,如下
        var create_time = Math.round(new Date(Date.UTC(2013, 4, 22, 0, 0, 0))
                .getTime() / 1000);
        // 当前时间秒数,增加时区的差异
        var timestamp = Math.round((new Date().getTime() + 8 * 60 * 60 * 1000) / 1000);
        currentTime = secondToDate((timestamp - create_time));
        currentTimeHtml = currentTime[0] + '年' + currentTime[1] + '天'
                + currentTime[2] + '时' + currentTime[3] + '分' + currentTime[4]
                + '秒';
        document.getElementById("htmer_time").innerHTML = currentTimeHtml;
    }
    setInterval(setTime, 1000);
</script>
   运行时间:<span id="htmer_time" style="color: red;"></span>

阅读