在新一轮的爬行行动中,blogbus不幸中招,再次更新一下以往的blogbus2wordpress程序。
很匆忙弄的,只是纯粹用正则表达式把blogbus备份中的tag转换了一下,所以这个程序的运行是完全是没有效率可言的,当然我在上网本中测试是可以把1MB左右,大概四五百篇文章的备份(这个备份只是我从几篇短小的文章扩展成四五百篇这样子)转换成功的,大家尽管试试吧。
这个版本可以完整保留blogbus中的分类和标签,但依旧没有保留留言。
Read More »
冰古的网络之旅
在新一轮的爬行行动中,blogbus不幸中招,再次更新一下以往的blogbus2wordpress程序。
很匆忙弄的,只是纯粹用正则表达式把blogbus备份中的tag转换了一下,所以这个程序的运行是完全是没有效率可言的,当然我在上网本中测试是可以把1MB左右,大概四五百篇文章的备份(这个备份只是我从几篇短小的文章扩展成四五百篇这样子)转换成功的,大家尽管试试吧。
这个版本可以完整保留blogbus中的分类和标签,但依旧没有保留留言。
Read More »
树大招风,bit.ly和j.mp还是被河蟹了。当然撇开这个原因,我们有时也是有想得到某个缩短链接的原始链接的要求。
其实用PHP中的get_headers()函数就能轻松地得到原始链接。
<?php $url = 'http://bit.ly/1vFqAp'; $headers = get_headers($url, 1); echo '<pre>'; print_r($headers); echo '</pre>';
get_headers第二个参数如果不为0时,将会以关联下标数组输出,这时我们用$headers[‘Location’]就可以直接得到该缩短链接的原始链接了。(当为0时,输出的结果是数字下标数组,这时我们就不能方便地调用原始链接)输出的结果如下:
Array ( [0] => HTTP/1.1 301 Moved [Server] => Array ( [0] => nginx/0.7.42 [1] => Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 ) [Date] => Array ( [0] => Tue, 13 Oct 2009 07:38:38 GMT [1] => Tue, 13 Oct 2009 07:38:36 GMT ) [Content-Type] => Array ( [0] => text/html; charset=utf-8 [1] => text/html; charset=UTF-8 ) [Connection] => Array ( [0] => close [1] => close ) [Location] => https://bingu.net/646/create-web-thumb-use-bluga-easythumb-api/ [MIME-Version] => 1.0 [Content-Length] => 324 [1] => HTTP/1.1 200 OK [X-Powered-By] => PHP/5.2.9 [X-Pingback] => https://bingu.net/xmlrpc.php )
PHP的内置函数可做的事情很多,在谷歌中搜索“php删除字符串中的html”,可以得到一个别人编写的delete_htm()函数,而事实上PHP中的strip_tags()函数就能完成这个任务,完全不必自己另编一个函数。
bluga.net提供的在线网站截图可以说是现有此类网站中最好一个。她提供了多种分辨率的截图、zip打包下载全部分辨率的截图,还有就是她提供了两种方便的API,可以让注册用户通过API快捷地获取网站的截图。
bluga.net为注册用户免费提供了每个月100张截图的应用,当我们在制作类似CSS Vault这样的网站时,就可以不用人工去进行截图工作了。
Read More »
前段时间,忽然对使用中的编辑器感到不爽。当时使用的是PSPad,这个不是专业的PHP编辑器,是的,她不是针对PHP而设计的,用起来还是觉得不够趁手。于是又开始了新一轮对编辑器的疯狂试用,最后还是选择了Dev-PHP2,一个针对PHP开发,免费开源的软件。
选择Dev-PHP2其实有点无奈,原因是我试用了几乎所有别人在网上推荐的PHP收费编辑器或大牌编辑器,如:PHPDesigner 2008、PHPEdit、PhpED、DSV PHP Editor、eclipse等等,占用内存大、启动缓慢、小毛病不少,真的是对不起付费的客户,还不如就用Dev-PHP2算了。就是这样,我选择了Dev-PHP2。
其实Dev-PHP2还是挺不错的,
1.支持多语言界面(locale.zip,下载解压到Dev-PHP2的安装目录下,可以实现中文界面。因为是我自己翻译的,错漏不少,欢迎指正。);
2.嵌入PHP手册。在选项中设置好你的中文手册后,可以直接在软件中查看;
3.支持UTF-8。可选择是否添加BOM;
4.支持Snippets。(这个功能似乎有点问题,我添加的好像不能保存。)
5.支持PHP解析和Debugger。要自己搭建PHP平台和xdebug和在选项中设置。
6.高亮显示PHP、HTML、CSS、Javascript等代码。(这个功能也不太完善)
7.代码提示。
8.启动快速。
9.程序小巧。安装文件才1+MB。
从上面你可以看到Dev-PHP2要有的功能基本都有了,但完善度却是不太足够。
不过懒得折腾了,先凑合用着吧。
Simple.1.2c就是Simple.1的二栏版本,更简洁。
WordPress搬家到Blogbus程序是应jht的要求所写。现在大致上也已经完成了,这里把php程序发出,下载后按照README要求进行就可以了。
因为弄的比较匆忙,有问题,这里留言告知。THX
wp2bb.zip
用上umVPS后,很多时候在虚拟主机不用自己动手的事情都要自己搞定了,例如:PHP和MySQL的升级。因为不用自己动手,也动不了,所以冰古不太清楚虚拟主机的PHP和MySQL是不是会及时地更新。但用VPS,可以动手玩一下也保证安全,冰古是很乐意进行更新的。以下就是用YUM升级CentOS系统中PHP和MySQL的过程:
yum是CentOS系统自带的用于方便地添加/删除/更新RPM包的工具,它能自动解决包的倚赖性问题。
用yum更新PHP,只需用一条命令就可以搞定:
#yum update php
但问题来了,使用此命令后,系统告诉我,没有发现可更新的包。而当前的PHP版本只是5.2.1,PHP官方已经更新到5.2.6了。
经过一番询问,才知道原来CentOS系统的源里PHP仍旧是5.2.1,需要额外的源才能升级PHP。
根据外国网友的介绍,冰古添加了额外的源:
登录SSH后依次运行下列命令:
#rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka #vi /etc/yum.repos.d/utterramblings.repo #文中这里是使用nano,但VPS不能启动nano,用vi代替也是可以的
在打开的文档中加入下面内容:
[utterramblings] name=Jason's Utter Ramblings Repo baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
保存。
再次运行下面的命令就可以完成php的升级了
#yum update php
同理,运行下面命令,升级mysql
#yum update mysql
在php中,通常我们用$_SERVER[‘REMOTE_ADDR’]得到访问者的ip。但当访问者使用了代理,它只能得到代理的ip。这时使用下面的函数就能得到访问者的真实ip:
function getRealIpAddr(){ if (!empty($_SERVER['HTTP_CLIENT_IP'])){//check ip from share internet $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){//to check ip is pass from proxy $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; }else{ $ip=$_SERVER['REMOTE_ADDR']; } return $ip; }
事实上这个函数也不是万能,众所周知,头信息是可以伪造的。
最近在使用sNews的过程中遇到一种特殊的乱码显示问题,表现为:用firefox浏览网页,该网页中的中文字符显示为乱码,但查看它的源代码却发现其中的中文字符是正常的,而且还有正确的meta指定其编码为’utf8’(<meta http-equiv="Content-Type" content="text/html;charset=utf8" />),如果在浏览器中选择编码’utf8’,网页显示正常,但刷新后,网页再次显示为乱码。
很显然,这个乱码显示问题是由于浏览器没有正确指定编码导致的。看了一下代码,发现<meta http-equiv="Content-Type" content="text/html;charset=utf8" />是由title()函数添加到模板中的,可能在此前,浏览器已为网页分配编码,但不能找到meta指定的编码,只能为该网页分配为GB2312,因此页面显示出现乱码,而源代码却是正常的。
解决的方法很简单,只需在程序开始后马上为其指定编码就行了,也即是在index.php的第二行加入<php header('content-type:text/html;charset=utf8'); ?>一句后保存即可。此时再刷新,网页已不会显示乱码了。