小福星

Category: Code (page 1 of 2)

关于php程序国际化(i18n)的那些事

这事说起来也是老生常谈了,其实这事本来没什么意思,可是这回想用的时候才发现真不是这么回事,最主要的是我个人很习惯了WP的那种“_e”和“__”的本地化方式,可真的去试用gettext的时候,才发现那家伙真不是一般的麻烦,要为每一种语言都配置好目录和设置什么的,总之那是相当的麻烦……

可又确实想用,怎么办?唉,没办法,翻WP的原程吧,可是现在升来升去越来越繁复,于是想起初接触WP时的2.3.1版,网站上拿下,主要查“l10n”这个文件,在wp-includes文件夹里,于是从一个文件找到另一个文件,这样找齐了四个文件: l10n.php / streams.php / gettext.php / plugin.php ……,可我总不能做一个程序就带着这四个累赘吧,唉,还是自己合并吧。于是得到了一个文件,我延续了WP的文件命名,将合并后的文件命名为:l10n.php 。

php下获取远程文件信息的重要函数get_headers

get_headers函数很不错,在我们写一些php代码时,可能会需要获取远程文件的一些信息,比如文件大小、最后修改时间等等,而php内置的相关函数都不支持远程文件,于是我们就用上了get_headers函数。

首先,我们要用到前面的两个自定义函数remote_file_exists(检查远程文件是否存在)、dump(格式化输出数组内容),这两个函数的具体代码都在前面有说过,并且在dump那篇文章中,最后的一段例程代码就是获取远程文件信息头的内容并格式化输出的结果。结果如下:

自定义数组格式化输出函数(dump),调试程序时很有用

前面我们谈了一下关于判断远程文件是否存在的一个函数,希望大家能够记下来,因为在最近这几篇文章中这几个函数会联合一起使用,将来这些函数也会被我使用到改写的MG2程序里。

下面说说今天要说的这个自定义函数dump,该函数是我从网上搜集下来的,作用为将一个数组进行格式化输出,对于我来说要看php中一个数组的内容是很费力的,因为本人的php可以说是无基础可言,用到哪里就看哪里,呵呵,完全的现用现学。搜到这个函数后,发现通过格式化输出后,再去看某一个数组时确实省事多了,经过测试,暂无发现什么问题,下面给出该函数代码:

关于php判断远程文件是否存在的函数(remote_file_exists)的缺陷

检查远程文件是否存在的方法有几种,其中比较被大家常用的是get_headers。一般都是通过获取文件头的方式来判断,而且如果在网上搜索一下“remote_file_exists”的话,会有很多例程,这里被大家常常转载的一段代码如下: function remote_file_exists($url_file){ //...

修改 mail to commenter,让邮件通知更加友好

曾经我推荐了一个插件,是国人写的关于邮件通知回复评论的一个插件,叫mail to commenter,这个插件很好,从功能和兼容各方面都不错,我也一直在用,不过昨天有位朋友(JasonChao)跟我说,回复时,邮件地址显示为“WordPress 博客名称”,说这种方式从互动显示方面来讲不太友好,问我可不可以变换成“博客名称 <no-reply@域名>”的方式,我在没有经过原作者同意的情况下,试着去修改了一下,以达到这种友好的效果。
好了,下面来跟着我去修改代码吧。

插件更新

前面发的两个插件都出了点小问题,套用《疯狂的石头》里一句台词:不专业。呵,没办法,咱毕竟不是科班出身啊。节前最后一天,不能放节后再做,说说WordPress的插件更新吧。

关于simple-stats-widget for WordPress抓蜘蛛的问题

这几天测试一直没发现这个事情,就是使用这个插件抓蜘蛛总是不能正确记录下来,仍然记为来源地,刚刚重新写了个测试代码,准备将测试记录拿回来分析一下,所以,如果您有对抓蜘蛛这段程序的建议或补充,请您在这里回复,并且我本人在分析记录后会尽快修复simple-stat...

Plug-in released:simple-stats-widget for WordPress

screenshot-1 一款简单的统计插件,可以实现类似clicki提供的功能,使用纯真IP库,IP地址相对于国内用户来说会精确一些,当然,由于纯真的IP库完全是人肉性质的,所以也难免有些错误。

支持中英文,不支持区旗,所以港澳台的同胞不要挑理,因为大家都同属一个国家,就统一使用了中国国旗,国家代码也统一为cn,而非tw等。

考虑到有些PHP可能没有配置iconv这个函数支持,直接将 偶爱偶家 大人的iconv函数和转码表格拉进来了,在这向 偶爱偶家 致谢。翻译方面直接采用了 cos_slug_translator 作者 jiangdong 的函数,采用google的自动翻译来达到将地区中文转成英文。其它方面最主要是感谢 金狐软件 收集了这个庞大的IP数据库,以及 coolcode 在网上提供的采用二分法快速获取信息的一个类。

统计插件的测试记录

昨天把自己做的统计插件放在博里进行测试,发现很多莫名的直接访问,其中包括google、微软、yahoo和一个来自北京的IP,突然意识到,这是搜索引擎蜘蛛爬来抓网页了,晕倒,看来好好的测试还是有很必要的,做插件时没想到这个问题,于是使用下面一句代码屏蔽了蜘蛛抓取记录。

又玩了一个WordPress插件,类似clicki的

svS 终于完成了,呵呵,每一个插件都是抱着玩的态度去做,但当做完后却总是感到如释重负,其实这个问题也很简单,因为咱技术不过关,一切都来源于网络上和手册上的一些现成代码,不过这也足够说明一个不懂PHP、不懂CSS、不懂JS等等的新手,在通过实践和例子之后是完全可以写出自己的WordPress的插件或是主题。每个插件都来自一个想法,有了想法就有了一个大概的流程,然后要解决的就是实现某一目标的代码,将这些东西有条理的安排好,那么一个至少适于自己的插件或主题就完成了,剩下的则是排错。O了,最近不想再弄插件了,一个是暂时没有什么目的,再一个是我的主题需要大量排错了,并且因为我的不慎,option表中一些莫名的值被清理了,导致了主题仅在IE6下能正常显示了,呵,我还真是反潮流啊。

Olderposts