Typecho修改附件存放位置应注意的问题

昨晚收到留言说那个缩略图插件无法下载,然后测试看了下,居然原来的附件都无法下载了,研究了下,终于发现问题所在。 先说一下 Typecho 附件的数据库设计: 通...

January 10, 2012

PHP中的serialize和unserialize

PHP 中的 serialize 和 unserialize string serialize ( mixed $value ) serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。 这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。 serialize...

January 10, 2012

VPS选择openvz还是xen,两者那个更好?

linux 的虚拟化平台有两款杰出的平台,分别是 openvz 和 xen,购买 vps 是选 openvz 还是 xen?我们对两者进行对比。 openvz openvz 是一个操作系统级虚拟化平台,基于修改过的 linux...

January 8, 2012

VPS为什么要用SSH

首先解释什么是 VPS,什么是 SSh,然后你就清楚为什么要通过 ssh 来登录 vps 进行操作。 什么是 vps? 利用 Xen 或者 Openvz 等最新虚拟化技术在一台物理服务器上...

January 8, 2012

Typecho 自定义文章缩略图显示

前些天写过一个 thpecho 的文章缩略图插件。https://mrasong.com/a/thumbnail-for-typecho 如果没有图片的时候将...

January 3, 2012

nginx目录列表显示及修改版本号

nginx 可以通过修改源代码,实现自定义版本和个性化的目录列表 自定义版本号 源码可以到 [http://nginx.org/] 下载 下载 http://nginx.org/download/nginx-1.0.8.tar.gz 解压,文本编辑器打开 /nginx-1.0.8/src/core/nginx.h 内容如下: 1/* 2 * Copyright (C) Igor Sysoev 3 */ 4...

January 1, 2012

typecho另一种方法实现tagcloud

前些天,写过一篇关于 Typecho tag cloud 的文章 https://mrasong.com/a/typecho-tagcloud ,那时没深入了解 typecho,有点走弯路。 其实可以用 typecho 的 widget 来快速实现 tag cloud 和 archives,代码如下: 1<?php...

January 1, 2012

简单方法,不用插件实现外链转内链

typecho 可以自定义 404 页面,通过 404.php 即可不用插件实现外链转内链 首先,在模板目录下建立一个空的 php 文件:url.php,写入以下内容: 1return array( 2//此处以下为...

December 28, 2011

js操作cookie

设置 cookie 每个 cookie 都是一个名/值对,可以把下面这样一个字符串赋值给 document.cookie : document.cookie="userId=828"; 如果要一次存储多个名/值对,可以使用分号加空格(;)隔开,例如: document.cookie="userId=828; userName=hulk"; 在 cookie 的...

December 28, 2011

php cookie实现计数时要注意的问题

今天在写一个 IP+cookie 限制客户断重复刷新的时候,遇到一个问题。 1if(!isset($_COOKIE['card_user'])){ 2 setcookie("card_user", $_SERVER['REMOTE_ADDR'] , time()+60*60*24); 3 setcookie("card_user_time", 1 , time()+60*60*24); 4}else{ 5 if( $_COOKIE["card_user"] == $_SERVER['REMOTE_ADDR'] ){ 6 if( $_COOKIE['card_user_time'] > $config['max'] ){ 7 $isMax = true; 8 }else{ 9 setcookie("card_user_time", $_COOKIE['card_user_time']+1); 10 } 11 }else{ 12 setcookie("card_user", $_SERVER['REMOTE_ADDR'] , time()+60*60*24); 13...

December 19, 2011