我也是去年才开始接触到美国的虚拟主机的,美国主流的虚拟主机的容量基本都是100G的单位,流量也是T的单位,相比国内100M/10G这样单位来说,简直一个在天上一个在地下,但是我们也可以这样理解,虽然说国外的虚拟主机空间如此之大,但是你不可能无限制的放置网站,或者放置过多的消耗CPU较严重的论坛,因为稳定的虚拟主机都有CPU的限制的,这也是我组织Bluehost合租人数严格控制的原因。 (read on …)
分享一段高效的css gzip压缩代码
打算让用户控制缓存,但是必须得保证用户关闭浏览器后代码还能继续执行,所以一直在研究register_shutdown_function,也一直在调试这个代码和ob_start绑定函数执行的顺序,后来就在php.net上发现了一段压缩css的好代码,我7k的css被压缩成2k不到,大家可以尝试。
< ?php
ob_start("ob_gzhandler");
ob_start("compress");
header("Content-type: text/css; charset: UTF-8");
header("Cache-Control: must-revalidate");
$off = 0; # Set to a reaonable value later, say 3600 (1 hr);
$exp = "Expires: " . gmdate("D, d M Y H:i:s", time() + $off) . " GMT";
header($exp);
function compress($buffer) {
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer); // remove comments
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer); // remove tabs, spaces, newlines, etc.
$buffer = str_replace('{ ', '{', $buffer); // remove unnecessary spaces.
$buffer = str_replace(' }', '}', $buffer);
$buffer = str_replace('; ', ';', $buffer);
$buffer = str_replace(', ', ',', $buffer);
$buffer = str_replace(' {', '{', $buffer);
$buffer = str_replace('} ', '}', $buffer);
$buffer = str_replace(': ', ':', $buffer);
$buffer = str_replace(' ,', ',', $buffer);
$buffer = str_replace(' ;', ';', $buffer);
return $buffer;
}
require_once('style.css');
?>
将上面的文件命名为style.css.php,放置到你当前模板目录下,然后修改你的wordpress模板中的header.php将css的路径改成<link rel="stylesheet"
href="<?php bloginfo('stylesheet_directory'); ?>/style.css.php"
type="text/css" media="screen" />
Your Blog Has Been Rejected
| Dear Jiang Dong,This is a notification to let you know that your blog, enjoy life, has been rejected for the following reason(s):
—————————— Unfortunately, at this time we only accept blog submissions in the English language only. Please check back with us on occasion as this policy may change. Thank you! —————————— 看来中文的blog想赚美元不容易啊。 题外话,刚才看到一个好像是德国的blogger转载了我的插件,安装方法写得比我自己都还要详细,看来我今后写插件最好是写一个详细的英语版的。另外,本站的css,text-indent:2em;这样的css也不是那么完美,目前还没有想到合适的解决办法。[tag]blog,ads[/tag] |
cos-tools wp升级
修正了一个小小的bug,该bug会导致用户在wordpress自带的编辑器中更新文章时,错误修改postslug,该bug对于离线发布没有任何影响。本次改版除了修正了这个bug之外,还修正了action的触发方式,即通过离线编辑器(xmlrpc)发布文章的时候才启动此功能,在wordpress自带的编辑器中无此功能,因为没有这个必要,所以提高了效率。关于该插件的说明和下载,请到下面的链接:cos-tools wp工具箱插件开始启动
第一届中国”旅游搜索引擎”大型网络调查
第一届中国”旅游搜索引擎”大型网络调查。 作为中国最大的旅游搜索引擎,”去哪儿”(Qunar.com)举行第一届中国”旅游搜索引擎”大型网络调查。 本次大型调查始于2007年5月15日,止于2007年5月23日,将在包括港、澳、台在内的全中国范围内进行。本次大型调查将根据全部参与调查的网友选择结果,并结合业界专家意见,产生与中国”旅游搜索引擎”格局息息相关的全部调查结果。 调查地址为:http://survey.qunar.com/cover/Survey_45.htm ![]()
我在第一页的调查中全部选择的南方航空公司,嘿嘿,因为我南方航空公司的明珠卡积分最多,最有希望获取免费机票。既然说要评论,我就对这样的调查方式进行一下点评,调查方式作得很烂,8页的调查其实完全可以浓缩到一页,而且调查起来很无趣,用了些什么无聊的词语,所以让人感到迷茫,而且调查中居然有要自己填写的东西,譬如国际航班,完全可以增加一项”我没有国际旅游”的选项,反正不科学的东西多着呢。不过既然是付费评论,拿人钱财,与人消灾,我也得按照他的要求进行调查填写下去。 (read on …)
给wordpress 模板和插件作者的几点建议
接触wordpress也有半年多了,这半年以来也做个几个模板和插件,当然也看过很多的模板和插件的代码,这里我就对我自己的体会给模板和插件的作者提点建议,仅作参考。
- 如果你的模板依赖某个插件,请尽量使用if( function_exists(”插件函数()”) )。因为这样,对于那些不熟悉php的使用者来说就不会对页面上出现的php error而感到困惑了,如果确实依赖于插件,建议采用下面的方法:
< ?php if (function_exists(”func_name()”)):?>这里实现你的函数< ?php else:?>模板需要**插件支持,请到XX进行下载安装 < ?php endif;?>
这样对模板的使用者更加友好; - 模板中的function.php函数定义之前,尽量先判断该函数是否已经已经,防止命名冲突,同样给使用者带来困惑;
- 编写插件尽量考虑效率。字符串的处理能在发布文章的时候进行处理就尽量在发布的时候处理。如果在显示文章的时候加载过多的函数,特别是过多的正则表达式,会减慢页面的载入速度,吓跑blog的reader。
- 插件尽量不要将庞大的js插入到用户的header部分。不是需要onload才使用的js函数,尽量别加载到header部分,那样会影响网页的载入速度,尽量精简你的js函数。
- 尽量不要直接对数据库操作。事实证明这样的插件危险性更大,而且不利于升级,因为wp的升级很可能会变动数据库的结构
- 如果你的plugin有损坏数据的可能,请在readme中明显的标注出来.
好了,能想到的就这么多,不需要凑到10,也不是打麻将和牌。
php函数、实现方法库
有些东西,譬如正则表达式,目录函数等等,我们往往不需要记下,需要的时候再去查资料,鉴于此,我将我自己使用过的一些php的东西汇编到本文中,今后使用的时候直接查看本文(持续更新中……) (read on …)
