2010年6月29日星期二

天堂电影院

这部电影情节不复杂,也不是大制作,没有特技,没有大场面。

故事主人公小多多,热爱电影,与镇上唯一的放了一辈子电影的艾佛特关系很好,经常跑到放映室玩儿。会偷些剪掉的底片带回家,会把妈妈买牛奶的钱拿去买电影票。

多多一直都想学放电影,艾佛特没有同意,他觉得这是一个没有前途的工作。由于一场考试使得艾佛特和多多达成协议,多多学会了放电影。一切都是那么的温馨和惬意……

一场放映室的大火造成了艾佛特双目失明,这也把镇上放电影的责任交给了还是孩子的多多。就这样多多渐渐长大,在学校遇到了喜欢的女孩子艾莲娜,家境很好。多多和她有个“一百天的约定”,风雨无阻地在艾莲娜楼下等她一百天。

艾莲娜父母看不上这个穷小子,连夜要搬出这个小镇。多多去爱莲娜家找她,爱莲娜去放映室找多多,两个人就这样错过了。

多多离开了小镇,出去闯荡,和艾佛特有个约定,不混好永不回来。30年后,多多功成名就,回到了小镇,遇到了初恋,看到了儿时的照片,电影还有“天堂电影院”。

电影FINE,说不出哪里精彩,一切都是那么地自然,充满着人情味。近三个小时,感觉很快就过去了,没有看过瘾。

中国电影陷入了如今的死胡同,一味的讲求铺成,宏大,投资,恶搞。一部连中国观众都不能为之感动的电影怎么能够感动世界。

2010年6月26日星期六

JS去掉所有空格的例子

JS去掉所有空格的例子:

var s = "asd ddd bbb sss";
var reg = /\s/g;
var ss = s.replace(reg, "");
alert(ss);


JS得到PHP值的例子(也就是把PHP语句嵌套进JS中):

var i='<?php echo $_SESSION['i']; ?>'; alert(i);

Feedburner的域名绑定和添加国产订阅器

无法查看这则摘要。请 点击此处查看博文。

Feedburner的域名绑定和添加国产订阅器

无法查看这则摘要。请 点击此处查看博文。

2010年6月25日星期五

Feedsky域名绑定方式CNAME

Feedsky的RSS托管服务中的域名绑定现在只支持CNAME,CNAME是什么?CNAME记录是域名名称的别名。

具体的绑定步骤是:

登录到域名的DNS服务器中,解析方式选择CNAME,添加或修改一个子域名,绑定的地址是mydomain.feedsky.com

对于使用Dot TK的免费DNS服务器,CNAME的绑定方式是:

登录→我的域名列表→选择设定的域名→升级→

类型中选择CNAME,主机名中填创建的二级域名(feed.weishanshan.tk),IP地址中填mydomain.feedsky.com

Google adsense申请下来了

网站建起来总想显示些广告,于是就申请Google adsense(这个adsense开始总不会拼,之后有人介绍说是AD(广告)+Sense(意识到)的组合,从此就记住了,看来Google起名字还有自己的一套学问。),没过多长时间收到邮件回复:
- 企业帐户需要在申请的"收款人姓名"字段中填入公司名称,此外,还要在"联系人姓名"字段中提供联系人姓名。个人帐户则需要在"收款人姓名"字段中填入帐户负责人(只需一个)的全名。要获得申请表填写方面的帮助,请访问:https

- 邮政地址不正确或不详细:我们发现,您在申请时提供的帐户信息不完整或不正确。所有申请都需要提供可以接收邮件的有效、完整的地址。正确输入这些信息很重要,因为付款将发送至"收款人姓名",而支票将邮寄至您申请中列出的地址。有关如何输入地址的详情,请访问 https

接着修改地址,继续发。不管怎么修改,谷歌回复邮件的内容都是这两个错误。发了4次后,受不了了,上网寻求答案。在谷歌adsense论坛中,发现好多人和我一样,都是回复这两个问题。我想可能是系统的问题就没有理它。

之后,转战到百度和阿里妈妈,这两个需要网站备案号,这就是社会主义特色,什么都要备案。我真的还没有,只好放弃了。

找了好几个乱七八糟的广告联盟,不是广告质量不好,就是广告的发布,付款方式繁琐,搞不好还要专门请个广告管理人员,我的小站肯定吃不了。还有一点是这些广告联盟的信誉度问题,还是放弃了。

就在我找不到什么好的广告联盟时,收到了谷歌的邮件(做了少许修改^_^):
感谢您关注 Google AdSense。很抱歉,在审查您的申请后,我们目前无法接受您加入 Google AdSense。

我们未批准您申请的原因如下。

问题:

- 域名所有权

---------------------

更多详情:

域名所有权:我们在审核了您的申请,并肯定您网站的质量,在批准您的申请之前,我们需要进一步确认您对该网站 www.×××.tk 的所有权。

所以烦请您在您的网站 www.×××.tk 的根目录下创建一个网页www.×××.tk/adsense.txt,并粘贴“本人 ××× 声明确认我对本网站的所有权,同时确认本网站遵守 Google AdSense 计划政策和条款。”至该页面,然后以该网页www.×××.tk/adsense.txt 作为申请的"网站网址"重新提交申请。我们会第一时间核实您的申请,确保您早日加入AdSense。请注意,回复此邮件是无效的,您只需按照上文提供的步骤重新申请即可。

我一看到“很抱歉”觉得应该没戏了,接着看到“网站质量”和“烦请您”觉得很有戏。于是照着说明做了下去,第二天就收到了谷歌的另一封邮件:
恭喜您!
欢迎加入 Google AdSense。您的申请已获得批准。您现在可以立刻访问 https://www.google.com/adsense?hl=zh_CN,使用您在申请时提交的电子邮件地址和密码来登录帐户。

哈哈,就这样,Google广告申请下来了。还有一点是Google adsense说明中提到“拥有网站的时间达到 6 个月才能申请Google adsense”,不过我的网站域名刚申请下来不过1个月,网站也刚建好半个月,可能这条规定不是太严,拥有网站的时间没有到6个月的也不妨试一试。

Google adsense申请下来了

网站建起来总想显示些广告,于是就申请Google adsense(这个adsense开始总不会拼,之后有人介绍说是AD(广告)+Sense(意识到)的组合,从此就记住了,看来Google起名字还有自己的一套学问。),没过多长时间收到邮件回复:
- 企业帐户需要在申请的"收款人姓名"字段中填入公司名称,此外,还要在"联系人姓名"字段中提供联系人姓名。个人帐户则需要在"收款人姓名"字段中填入帐户负责人(只需一个)的全名。要获得申请表填写方面的帮助,请访问:https

- 邮政地址不正确或不详细:我们发现,您在申请时提供的帐户信息不完整或不正确。所有申请都需要提供可以接收邮件的有效、完整的地址。正确输入这些信息很重要,因为付款将发送至"收款人姓名",而支票将邮寄至您申请中列出的地址。有关如何输入地址的详情,请访问 https

接着修改地址,继续发。不管怎么修改,谷歌回复邮件的内容都是这两个错误。发了4次后,受不了了,上网寻求答案。在谷歌adsense论坛中,发现好多人和我一样,都是回复这两个问题。我想可能是系统的问题就没有理它。

之后,转战到百度和阿里妈妈,这两个需要网站备案号,这就是社会主义特色,什么都要备案。我真的还没有,只好放弃了。

找了好几个乱七八糟的广告联盟,不是广告质量不好,就是广告的发布,付款方式繁琐,搞不好还要专门请个广告管理人员,我的小站肯定吃不了。还有一点是这些广告联盟的信誉度问题,还是放弃了。

就在我找不到什么好的广告联盟时,收到了谷歌的邮件(做了少许修改^_^):
感谢您关注 Google AdSense。很抱歉,在审查您的申请后,我们目前无法接受您加入 Google AdSense。

我们未批准您申请的原因如下。

问题:

- 域名所有权

---------------------

更多详情:

域名所有权:我们在审核了您的申请,并肯定您网站的质量,在批准您的申请之前,我们需要进一步确认您对该网站 www.×××.tk 的所有权。

所以烦请您在您的网站 www.×××.tk 的根目录下创建一个网页www.×××.tk/adsense.txt,并粘贴“本人 ××× 声明确认我对本网站的所有权,同时确认本网站遵守 Google AdSense 计划政策和条款。”至该页面,然后以该网页www.×××.tk/adsense.txt 作为申请的"网站网址"重新提交申请。我们会第一时间核实您的申请,确保您早日加入AdSense。请注意,回复此邮件是无效的,您只需按照上文提供的步骤重新申请即可。

我一看到“很抱歉”觉得应该没戏了,接着看到“网站质量”和“烦请您”觉得很有戏。于是照着说明做了下去,第二天就收到了谷歌的另一封邮件:
恭喜您!
欢迎加入 Google AdSense。您的申请已获得批准。您现在可以立刻访问 https://www.google.com/adsense?hl=zh_CN,使用您在申请时提交的电子邮件地址和密码来登录帐户。

哈哈,就这样,Google广告申请下来了。还有一点是Google adsense说明中提到“拥有网站的时间达到 6 个月才能申请Google adsense”,不过我的网站域名刚申请下来不过1个月,网站也刚建好半个月,可能这条规定不是太严,拥有网站的时间没有到6个月的也不妨试一试。

Feedsky域名绑定方式CNAME

Feedsky的RSS托管服务中的域名绑定现在只支持CNAME,CNAME是什么?CNAME记录是域名名称的别名。

具体的绑定步骤是:

登录到域名的DNS服务器中,解析方式选择CNAME,添加或修改一个子域名,绑定的地址是mydomain.feedsky.com

对于使用Dot TK的免费DNS服务器,CNAME的绑定方式是:

登录→我的域名列表→选择设定的域名→升级→

类型中选择CNAME,主机名中填创建的二级域名(feed.weishanshan.tk),IP地址中填mydomain.feedsky.com

2010年6月24日星期四

千万别用塑料杯(瓶)喝水

也许你曾经或者正在使用塑料杯、塑料瓶喝水,你可知道它们的危害吗?

“阿联酋一个十二岁的女童,因为连续十六个月使用同一个矿泉水瓶,她得了癌病。瓶里面含一种叫做PET的塑料材质,用一次是安全的,如果你因节俭或方便而重复使用,就有致癌危机。”

如果你身旁有塑料杯或者塑料瓶,倒转过来查看它底部会发现有一个带箭头的三角型,三角型里面有一个数字。下面来看一下这些数字的含义:

1号PET 聚对苯二甲酸乙二醇脂

常见矿泉水瓶、碳酸饮料瓶等。可以在短时期内装常温水,耐热至70℃易变形,有对人体有害的物质融出。1号塑料品用了10个月后,可能释放出致癌物DEHP。不能放在汽车内晒太阳;不要装酒、油等物质。

2号HDPE高密度聚乙烯

常见白色药瓶、清洁用品、沐浴产品。此类制品因为不容易彻底清洁,所以不适合用作水杯等,也不要循环使用。

3号PVC(又作“V”)聚氯乙烯

常见雨衣、建材、塑料膜、塑料盒等。可塑性优良,价钱便宜,故使用很普遍,只能耐热81℃.高温时容易有不好的物质产生,很少被用于食品包装。难清洗易残留,不要循环使用。若装饮品不要购买。

4号LDPE聚乙烯
常见保鲜膜、塑料盒、塑料膜等 。这类材质的可塑性优良、价钱便宜,因此使用较为普遍。但它们的耐热温度较低,高温时会有害物质产生,有毒物随食物进入人体后,可能引起乳腺癌、新生儿先天缺陷等疾病。保鲜膜别进微波炉。

5号PP聚丙烯

常见豆浆瓶、优酪乳瓶、果汁饮料瓶、微波炉餐盒。熔点高达167℃,是唯一可以放进微波炉的塑料盒,可在小心清洁后重复使用。需要注意,有些微波炉餐盒,盒体以5号PP制造,但盒盖却以1号PE制造,由于PE不能抵受高温,故不能与盒体一并放进微波炉。

6号PS聚苯乙烯

常见碗装泡面盒、快餐盒。不能放进微波炉中,以免因温度过高而释出化学物。装酸(如柳橙汁)、碱性物质后,会分解出致癌物质。避免用快餐盒打包滚烫的食物。别用微波炉煮碗装方便面。所以不能在高温、强酸、强碱环境下使用。

7号AS丙烯腈-苯乙烯树脂(PC其它类)

用这种材质大量生产的水壶、水杯、太空杯、奶瓶已有十多年的历史,比PP、PC的历史要久得多,安全性较高。这种材料做的杯子透明度高,耐摔,但是耐用性较差,很容易释放出有毒的物质双酚A,对人体有害。使用时不要加热,不要在阳光下直晒。

我们每天都要喝水,千万不能把有害物质喝进体内,建议不要使用塑料杯。再好的塑料杯也是塑料,就像再好的宠物也只能是宠物。

记住帐号、记住密码、记住表单信息等“记住”的实现

登录界面有记住帐号、记住密码,留言时有记住表单信息等,这使得用户在下次访问该页面时不用重复地输入重复的信息,减少重复劳动。网页设计者当然要满足用户的需求,那么PHP是怎么实现这些“记住”的呢。
使用客户端的cookie可以实现上述需求,下面以留言板为实例来讲解:
先看一下一般的Form(不具有记住功能的表单):








我们需要在名称、邮箱、网站链接处填上用户的信息,这些信息应该从用户上一次提交时得到。
只需要在post.php中加入下面的语句:

$sql = "insert into comment (nid,username,email,info,ip,site,submit_time) values ('$nid','$username','$email','$info','$ip','$site',NOW())";
$result = mysql_query($sql);
setcookie("CookieNAME",mysql_insert_id(),time()+94608000,"/"); /* 三年后 cookie 才会失效 */

把刚添加进数据库中的记录id保存在CookieNAME中,保存时间为三年。
上面是写入cookie,取出直接用$CookieNAME。可是取出id没什么用,我们需要的是用户的信息,那么就执行一下数据库查询操作就行了:

if(!empty($CookieNAME)){
$sql = "select username,email,site from comment where id=$CookieNAME";
$rss = mysql_query($sql);
$rs= mysql_fetch_array($rss);
}

然后把这些得到的信息填到上面的form表单中就完成了“记住”。
可是用户不一定都希望被“记住”,那么就要增加一个复选框供用户选择。表单中在按钮的右边添加:




post.php处理时只需要简单的判断复选框有没有被选中即可:

if(!empty($_POST["chkRemember"])){//如果复选框选中,设置cookie
setcookie("CookieNAME",mysql_insert_id(),time()+94608000,"/"); /* 三年后 cookie 才会失效 */
}

整个过程就是这样的,登录框和这个实现起来差不多。

千万别用塑料杯(瓶)喝水

也许你曾经或者正在使用塑料杯、塑料瓶喝水,你可知道它们的危害吗?

“阿联酋一个十二岁的女童,因为连续十六个月使用同一个矿泉水瓶,她得了癌病。瓶里面含一种叫做PET的塑料材质,用一次是安全的,如果你因节俭或方便而重复使用,就有致癌危机。”

如果你身旁有塑料杯或者塑料瓶,倒转过来查看它底部会发现有一个带箭头的三角型,三角型里面有一个数字。下面来看一下这些数字的含义:

1号PET 聚对苯二甲酸乙二醇脂

常见矿泉水瓶、碳酸饮料瓶等。可以在短时期内装常温水,耐热至70℃易变形,有对人体有害的物质融出。1号塑料品用了10个月后,可能释放出致癌物DEHP。不能放在汽车内晒太阳;不要装酒、油等物质

2号HDPE高密度聚乙烯

常见白色药瓶、清洁用品、沐浴产品。此类制品因为不容易彻底清洁,所以不适合用作水杯等,也不要循环使用。

3号PVC(又作“V”)聚氯乙烯

常见雨衣、建材、塑料膜、塑料盒等。可塑性优良,价钱便宜,故使用很普遍,只能耐热81℃.高温时容易有不好的物质产生,很少被用于食品包装。难清洗易残留,不要循环使用。若装饮品不要购买。


4号LDPE聚乙烯

常见保鲜膜、塑料盒、塑料膜等 。这类材质的可塑性优良、价钱便宜,因此使用较为普遍。但它们的耐热温度较低,高温时会有害物质产生,有毒物随食物进入人体后,可能引起乳腺癌、新生儿先天缺陷等疾病。保鲜膜别进微波炉。

5号PP聚丙烯

常见豆浆瓶、优酪乳瓶、果汁饮料瓶、微波炉餐盒。熔点高达167℃,是唯一可以放进微波炉的塑料盒,可在小心清洁后重复使用。需要注意,有些微波炉餐盒,盒体以5号PP制造,但盒盖却以1号PE制造,由于PE不能抵受高温,故不能与盒体一并放进微波炉。


6号PS聚苯乙烯

常见碗装泡面盒、快餐盒。不能放进微波炉中,以免因温度过高而释出化学物。装酸(如柳橙汁)、碱性物质后,会分解出致癌物质。避免用快餐盒打包滚烫的食物。别用微波炉煮碗装方便面。所以不能在高温、强酸、强碱环境下使用。


7号AS丙烯腈-苯乙烯树脂(PC其它类)

用这种材质大量生产的水壶、水杯、太空杯、奶瓶已有十多年的历史,比PP、PC的历史要久得多,安全性较高。这种材料做的杯子透明度高,耐摔,但是耐用性较差,很容易释放出有毒的物质双酚A,对人体有害。使用时不要加热,不要在阳光下直晒。

我们每天都要喝水,千万不能把有害物质喝进体内,建议不要使用塑料杯。再好的塑料杯也是塑料,就像再好的宠物也只能是宠物。

2010年6月23日星期三

SEO优化之H1标签

搜索引擎优化(SEO)就是把网站做得有条理,使得搜索引擎很容易的找到有用的信息。我们都知道Title标签在SEO中占有很重要的位置,H1,H2,H3……同样也是,搜索引擎对于标记了h1的文字给予的权重比其它文字的都要高,这些标签在SEO权重是逐级递减的,就是说h1>h2>h3……>h6.


根据w3cschool.com的说明,h1标签 - h6标签可定义标题,h1标签定义最大的标题,h6标签定义最小的标题。网页中使用H1-H6标签就如word里使用标题一样,合理的使用可以明确地表达网页(文章)的结构。但是,如果这些标签的数量多了,就会稀释了他们的权值,那样反而适得其反,可能会被认为优化过度,建议在页面中最好使用1个H1标签,5~7个其他标签。


知名网页设计师 “Jeffrey Zeldman” 的博客应该是 Web 标准的典范,他使用的定义方式大家应该都比较熟悉,使用 h1 定义网站标题,使用 h2 来定义文章标题和侧边栏目标题,h3 就用来定义文章时间。而 WordPress 默认模板也是选用这个方式来定义的。

也可以从 2 个方面来看文章标题的定义:

1、按照内容的重要性来定义,如:Official Google Reader Blog

使用 h1 定义网站标题使用 h2 定义文章标题使用 h3 定义栏目标题

2、按照网站的层次来定义,如:Official Google Blog

使用 h1 定义网站标题使用 h2 定义栏目标题使用 h3 定义文章标题

SEO优化之H1标签

搜索引擎优化(SEO)就是把网站做得有条理,使得搜索引擎很容易的找到有用的信息。我们都知道Title标签在SEO中占有很重要的位置,H1,H2,H3……同样也是,搜索引擎对于标记了h1的文字给予的权重比其它文字的都要高,这些标签在SEO权重是逐级递减的,就是说h1>h2>h3……>h6.


根据w3cschool.com的说明,h1标签 - h6标签可定义标题,h1标签定义最大的标题,h6标签定义最小的标题。网页中使用H1-H6标签就如word里使用标题一样,合理的使用可以明确地表达网页(文章)的结构。但是,如果这些标签的数量多了,就会稀释了他们的权值,那样反而适得其反,可能会被认为优化过度,建议在页面中最好使用1个H1标签,5~7个其他标签。


知名网页设计师 “Jeffrey Zeldman” 的博客应该是 Web 标准的典范,他使用的定义方式大家应该都比较熟悉,使用 h1 定义网站标题,使用 h2 来定义文章标题和侧边栏目标题,h3 就用来定义文章时间。而 WordPress 默认模板也是选用这个方式来定义的。

也可以从 2 个方面来看文章标题的定义:

1、按照内容的重要性来定义,如:Official Google Reader Blog

使用 h1 定义网站标题使用 h2 定义文章标题使用 h3 定义栏目标题

2、按照网站的层次来定义,如:Official Google Blog

使用 h1 定义网站标题使用 h2 定义栏目标题使用 h3 定义文章标题

2010年6月22日星期二

网页内容保存的几种方案介绍

当浏览网页时,遇到自己认为好看的有用的知识,下一次再找到它着实不易,所以要把它给保存起来。一种简单的方法是保存网址,可是网页的内容会随时被修改删除,保存的网址过段时间在访问会“网址是内容非”。那就采取稍微高级的方式,邮箱。选定,复制,粘贴,打开邮箱,撰写邮件,发送保存。

如果使用Gmail邮箱的话,可以使用“Gmail this”,它是用JS写的书签,放在书签栏中,选定文字点击它就能打开Gmail的撰写新邮件页面,标题是网页的标题,内容是选定的文字。不过它有字数的限制,当选定过多的文字就不起作用了。有没有更好的呢,toread就是一个。它也是放在书签栏,点击它,它能够把整个网页以邮件的形式发送到你注册的邮箱。缺点是,邮件的内容是缺少CSS的,也就是会出现排版的问题。再者是,保存的图片是链接的形式,如果源网页删除的话,邮件里的图片也会丢失的。

上面的几种方式以邮箱为中心来进行知识的保存提取学习,却忽略了知识的共享。邮箱是私人的!Google notebook是能够实现保存网页内容并共享的服务,不过已经停止了更新。还好有Evernote,它能原汁原味的保存网页的内容,可以共享,可以发送到邮箱。Evernote能够导入notebook的数据。Chrome还有Clip to Evernote 这个插件,使用起来很方便。Snippy,Ibrii同样也是能够保存网页信息并共享的chrome插件。

月光介绍了使用基于Google Reader的个人知识管理方案,以reader为中心进行个人知识的管理。同时Google reader有Note in reader的书签,保存网页很是方便。

天涯问答导航栏移除谷歌链接

今天从谷歌首页进入天涯问答,发现页面顶部的导航栏已经去除了谷歌的相关链接,变成为天涯社区的链接。

谷歌退出中国后,天涯就中断了和谷歌的合作,独立运营此前与谷歌合作的在线视频、天涯问答以及天涯来吧等业务。

我一直在使用天涯问答的服务,总感觉无论在答题的质量和用户回答的热心度上总不如百度知道。答案中充斥着太多的广告和复制粘贴的内容。用户上来提问一般都是在搜索引擎上搜索不到,然后转而去提问。因为搜索毕竟比等答案来得快。百度正是看到了搜索和问答的深层关联推出了百度知道。缺少了谷歌的支撑,天涯问答和天涯来吧这些与百度知道、百度贴吧相似度很高的服务的前景会更加渺茫。

2010年6月21日星期一

动态网址、静态网址和伪静态网址

这一段时间总在研究动态网址、静态网址和伪静态网址的问题。网站刚建起来,百度两天就收录了(只是首页),谷歌总没有见起色,每天就site一下,还是什么也没有。于是就上网找问题,在一篇文章中看到,搜索引擎(SE)在处理动态网址时,如www.example.com/detail.php?id=33,SE为了避免查询数据库的陷阱,遇到?就停止查找了(后面转贴的文章可以看出这种观点不正确)。突然觉得问题的严重性了,我的网站都是些动态的网址,难道是这个原因谷歌才没有收录吗。接着就上网寻找动态网址生成静态网址的方法。

之后知道生成静态网址分为真正的静态网址和伪静态网址。真正的静态网址就是这个网页确实存在,URL真正的指向它。伪静态网址,是看起来像静态网址实际上不是。开始想把网页生成真正的静态网址,虽然实施起来不是太困难,PHP也有简单的方法来实现。总感觉对于访问量小的网站开销太大,而且删除编辑起来也会不方便。所以就采用简单的生成伪静态的网址的方法,PHP可以采用伪静态使用.htaccess来重定位就行了。

今天看到了谷歌官方的对静态网址和动态网址的解释说明。看起来像论文,老外写文章总是这么有条理,说的也比较清楚。下面转贴出来,奇文共欣赏。

在跟网络管理员沟通时经常会出现这种情形,一些广为传播的理念可能在过去是正确的,但是可能已不再切合目前的情况了。当我们最近在跟几个朋友谈及关于网址的结构时就碰到这种情况。其中一个朋友很担心动态网址的使用,甚至认为“搜索引擎无法处理动态网址”。另外一个朋友觉得动态网址对搜索引擎来说完全不是问题,那些都是过去的事了。还有一个甚至说他从来都搞不懂动态网址和静态网址相比有什么区别。对于我们来说,这一刻使我们决定要好好研究一下动态网址和静态网址这个话题。首先,让我们来界定一下我们要谈论的主题:

什么是静态网址?
一个静态网址,顾名思义,就是一个不会发生变化的网址,它通常不包含任何网址参数。例如:http://www.example.com/archive/january.htm。您可以在搜索框里输入 filetype:html 在谷歌上搜索静态网址。更新此种类型网址的页面会比较耗费时间,尤其是当信息量增长很快时,因为每一个单独的页面都必须更改编译代码。这也是为什么网站管理员们在处理大型的、经常更新的网站,像在线购物网站、论坛社区、博客或者是内容管理系统时,会使用动态网址的原因。

什么是动态网址?
如果一个网站的内容存储于一个数据库,并且根据要求来显示页面,这时就可以使用动态网址。在这种情况下,网站提供的内容基本上是基于模板形式的。通常情况下,一个动态网址看起来像这样:http://code.google.com/p/google-checkout-php-sample-code/issues/detail?id=31。您可以通过寻找像? = & 这样的符号识别出动态网址。动态网址有一个缺陷是不同的网址可以拥有相同的内容。这样导致不同的用户可能链向含有不同参数的网址,但是这些网址却都含有相同的内容。这也是为什么网络管理员有时候想要将这些动态网址重写成静态网址的原因之一。

我是不是应该让我的动态网址看起来是静态的呢?
在处理动态网址时,希望您能了解以下几点事实:

  1. 要正确地生成和维护从动态网址到静态化网址的重写转变实际上是一件很难的事情。

  2. 将原始的动态网址提供给我们会比较安全,请让我们来处理诸如探测和避开那些有问题的参数的事情。

  3. 如果您想重写网址,请去掉那些不必要的参数,同时请保持它动态网址的样子。

  4. 如果您想提供一个静态网址代替动态网址,那么您应该切实地生成相应的静态内容。


静态和动态网址,Googlebot对于哪一个识别得更好呢?
我们碰到过很多网站管理员,像我们的朋友那样,认为静态或者看起来是静态的网址对于网站的索引和排名是有优势的。这种看法是基于这样一个假设,即认为搜索引擎在抓取和分析含有会话标识(session ID)和来源追踪器(source tracker)的网址时是有问题的。然而,事实是,谷歌在这两个方面都有了相当的进展。就点击率来说,静态网址可能略微有些优势,因为用户可以很容易地读懂这个网址。但是,就索引和排名来说,使用数据库驱动网站并不意味着明显的劣势。相比较将参数隐藏以使他们看起来是静态的网址来说,我们更希望网站将动态的网址直接提供给搜索引擎。

现在,让我们来看一些有关动态网址的广为传播的看法,并且来纠正一些蒙蔽网站管理员的假说。:)

传说:“动态网址不能被抓取。”
事实:我们可以抓取动态网址并且解释不同的参数。如果您为了让网址看起来像是静态的,而隐藏那些可以给谷歌提供有价值信息的参数,这样做反而会给该网址的抓取和排名带来麻烦。我们的建议是:请不要将一个动态网址改换格式以使其看起来是静态的。尽可能地使用静态网址来显示静态内容是可取的,但在您决定展示动态内容的情况下,请不要将参数隐藏起来从而使他们看起来像是静态的,因为这样做会删除掉那些有助于我们分析网址的有用信息。

传说:“动态网址的参数要少于3个。”
事实:对于参数的数量是没有限制的。但是,一个好的经验是不要让您的网址太长(这个适用于所有的网址,不论是静态的还是动态的)。您可以去掉一些对于Googlebot来说不重要的参数,给用户一个好看一点的动态网址。如果您不能确定可以去掉哪些参数,我们建议您将动态网址中所有的参数都提供给我们,我们的系统会弄明白哪一些是不重要的。将参数隐藏起来会影响我们正确地分析您的网址,我们也就不能识别这些参数,一些重要信息可能也因此丢失了。

下面一些是我们认为您可能会存在疑问的一些问题。

这是否意味着我应该完全避免重写动态网址?
这是我们的建议,除非您能确保您只是去掉多余的参数,或能够把所有有可能有不良影响的参数完整地删除。如果您把自己的动态网址任意修改使其看起来像是静态的,您要清楚这样做是有风险的,有可能会导致有些信息不能被正常地编译和识别。如果您想给您的网站再增加一个静态的版本,请您一定要提供一个真正意义上的静态的内容,比如生成那些可以通过网站相应路径而获取的文件。如果您仅仅是修改了动态网址的表现形式,而没有真正提供静态的内容,那么您有可能适得其反。请直接把标准的动态URL提供给我们,我们会自动找出那些冗余的参数。

你能给我举一个例子么?
如果您有一个像下面这样标准格式的动态网址:foo?key1=value&key2=value2,我们建议您不用改动它,谷歌会决定哪些参数可以去掉;或者您可以为用户去掉那些不必要的参数。不过要慎重,仅仅去掉那些不重要的参数。这里有一个含有多个参数的动态网址的例子:

www.example.com/article/bin/answer.foo?language=en&answer=3&sid=98971298178906&query=URL

  • language=en – 标明这篇文章的语言

  • answer=3 – 这篇文章含有数字3

  • sid=8971298178906 – 会话标识代码是8971298178906

  • query=URL – 使这篇文章被找到的查询是[URL]


并不是所有的参数都提供额外的信息。所以将这个网址重写为www.example.com/article/bin/answer.foo?language=en&answer=3 可能不会引起任何问题,因为所有不相关的参数都去掉了。

下面是一些经过认为修改而看起来像是静态网址的例子。相比较没有重写、直接提供动态网址来说,这些网址可能会引起更多抓取方面的问题。

  • www.example.com/article/bin/answer.foo/en/3/98971298178906/URL

  • www.example.com/article/bin/answer.foo/language=en/answer=3/ sid=98971298178906/query=URL

  • www.example.com/article/bin/answer.foo/language/en/answer/3/sid/ 98971298178906/query/URL

  • www.example.com/article/bin/answer.foo/en,3,98971298178906,URL


如果您将动态网址重写成如上所述的示例的话,可能会导致我们很多不必要的抓取,因为这些网址中都含有会话标识(sid)和查询(query)参数的可变值,这无形中生成了很多看起来不同的URL,而他们包含的内容却是相同的。这些格式让我们很难理解通过这个网址返回的实际内容和参数URL以及98971298178906是无关的。不过,下面这个重写的例子却将所有无关的参数都去掉了:

  • www.example.com/article/bin/answer.foo/en/3


尽管我们可以正确地处理这个网址,我们还是不鼓励您使用这样的重写。因为它很难维护,而且一旦一个新的参数被加到原始的动态网址,那么这个网址就需要马上更新。不这样做的话就会再次导致生成一个隐藏了参数的貌似静态网址的URL。所以最好的解决方法是通常将动态网址保持他们原来的样子。或者,如果您去掉不相关的参数,请记住一定要保持这个网址是动态的:

  • www.example.com/article/bin/answer.foo?language=en&answer=3


我们希望这篇文章能够对您和我们的朋友有帮助,使围绕动态网址的各种推测清晰化。如果您有更多的问题的话,欢迎加入我们的网站管理员支持论坛进行讨论。

动态网址、静态网址和伪静态网址

这一段时间总在研究动态网址、静态网址和伪静态网址的问题。网站刚建起来,百度两天就收录了(只是首页),谷歌总没有见起色,每天就site一下,还是什么也没有。于是就上网找问题,在一篇文章中看到,搜索引擎(SE)在处理动态网址时,如www.example.com/detail.php?id=33,SE为了避免查询数据库的陷阱,遇到?就停止查找了(后面转贴的文章可以看出这种观点不正确)。突然觉得问题的严重性了,我的网站都是些动态的网址,难道是这个原因谷歌才没有收录吗。接着就上网寻找动态网址生成静态网址的方法。

之后知道生成静态网址分为真正的静态网址和伪静态网址。真正的静态网址就是这个网页确实存在,URL真正的指向它。伪静态网址,是看起来像静态网址实际上不是。开始想把网页生成真正的静态网址,虽然实施起来不是太困难,PHP也有简单的方法来实现。总感觉对于访问量小的网站开销太大,而且删除编辑起来也会不方便。所以就采用简单的生成伪静态的网址的方法,PHP可以采用伪静态使用.htaccess来重定位就行了。

今天看到了谷歌官方的对静态网址和动态网址的解释说明。看起来像论文,老外写文章总是这么有条理,说的也比较清楚。下面转贴出来,奇文共欣赏。

在跟网络管理员沟通时经常会出现这种情形,一些广为传播的理念可能在过去是正确的,但是可能已不再切合目前的情况了。当我们最近在跟几个朋友谈及关于网址的结构时就碰到这种情况。其中一个朋友很担心动态网址的使用,甚至认为“搜索引擎无法处理动态网址”。另外一个朋友觉得动态网址对搜索引擎来说完全不是问题,那些都是过去的事了。还有一个甚至说他从来都搞不懂动态网址和静态网址相比有什么区别。对于我们来说,这一刻使我们决定要好好研究一下动态网址和静态网址这个话题。首先,让我们来界定一下我们要谈论的主题:

什么是静态网址?
一个静态网址,顾名思义,就是一个不会发生变化的网址,它通常不包含任何网址参数。例如:http://www.example.com/archive/january.htm。您可以在搜索框里输入 filetype:html 在谷歌上搜索静态网址。更新此种类型网址的页面会比较耗费时间,尤其是当信息量增长很快时,因为每一个单独的页面都必须更改编译代码。这也是为什么网站管理员们在处理大型的、经常更新的网站,像在线购物网站、论坛社区、博客或者是内容管理系统时,会使用动态网址的原因。

什么是动态网址?
如果一个网站的内容存储于一个数据库,并且根据要求来显示页面,这时就可以使用动态网址。在这种情况下,网站提供的内容基本上是基于模板形式的。通常情况下,一个动态网址看起来像这样:http://code.google.com/p/google-checkout-php-sample-code/issues/detail?id=31。您可以通过寻找像? = & 这样的符号识别出动态网址。动态网址有一个缺陷是不同的网址可以拥有相同的内容。这样导致不同的用户可能链向含有不同参数的网址,但是这些网址却都含有相同的内容。这也是为什么网络管理员有时候想要将这些动态网址重写成静态网址的原因之一。

我是不是应该让我的动态网址看起来是静态的呢?
在处理动态网址时,希望您能了解以下几点事实:

  1. 要正确地生成和维护从动态网址到静态化网址的重写转变实际上是一件很难的事情。

  2. 将原始的动态网址提供给我们会比较安全,请让我们来处理诸如探测和避开那些有问题的参数的事情。

  3. 如果您想重写网址,请去掉那些不必要的参数,同时请保持它动态网址的样子。

  4. 如果您想提供一个静态网址代替动态网址,那么您应该切实地生成相应的静态内容。


静态和动态网址,Googlebot对于哪一个识别得更好呢?
我们碰到过很多网站管理员,像我们的朋友那样,认为静态或者看起来是静态的网址对于网站的索引和排名是有优势的。这种看法是基于这样一个假设,即认为搜索引擎在抓取和分析含有会话标识(session ID)和来源追踪器(source tracker)的网址时是有问题的。然而,事实是,谷歌在这两个方面都有了相当的进展。就点击率来说,静态网址可能略微有些优势,因为用户可以很容易地读懂这个网址。但是,就索引和排名来说,使用数据库驱动网站并不意味着明显的劣势。相比较将参数隐藏以使他们看起来是静态的网址来说,我们更希望网站将动态的网址直接提供给搜索引擎。

现在,让我们来看一些有关动态网址的广为传播的看法,并且来纠正一些蒙蔽网站管理员的假说。:)

传说:“动态网址不能被抓取。”
事实:我们可以抓取动态网址并且解释不同的参数。如果您为了让网址看起来像是静态的,而隐藏那些可以给谷歌提供有价值信息的参数,这样做反而会给该网址的抓取和排名带来麻烦。我们的建议是:请不要将一个动态网址改换格式以使其看起来是静态的。尽可能地使用静态网址来显示静态内容是可取的,但在您决定展示动态内容的情况下,请不要将参数隐藏起来从而使他们看起来像是静态的,因为这样做会删除掉那些有助于我们分析网址的有用信息。

传说:“动态网址的参数要少于3个。”
事实:对于参数的数量是没有限制的。但是,一个好的经验是不要让您的网址太长(这个适用于所有的网址,不论是静态的还是动态的)。您可以去掉一些对于Googlebot来说不重要的参数,给用户一个好看一点的动态网址。如果您不能确定可以去掉哪些参数,我们建议您将动态网址中所有的参数都提供给我们,我们的系统会弄明白哪一些是不重要的。将参数隐藏起来会影响我们正确地分析您的网址,我们也就不能识别这些参数,一些重要信息可能也因此丢失了。

下面一些是我们认为您可能会存在疑问的一些问题。

这是否意味着我应该完全避免重写动态网址?
这是我们的建议,除非您能确保您只是去掉多余的参数,或能够把所有有可能有不良影响的参数完整地删除。如果您把自己的动态网址任意修改使其看起来像是静态的,您要清楚这样做是有风险的,有可能会导致有些信息不能被正常地编译和识别。如果您想给您的网站再增加一个静态的版本,请您一定要提供一个真正意义上的静态的内容,比如生成那些可以通过网站相应路径而获取的文件。如果您仅仅是修改了动态网址的表现形式,而没有真正提供静态的内容,那么您有可能适得其反。请直接把标准的动态URL提供给我们,我们会自动找出那些冗余的参数。

你能给我举一个例子么?
如果您有一个像下面这样标准格式的动态网址:foo?key1=value&key2=value2,我们建议您不用改动它,谷歌会决定哪些参数可以去掉;或者您可以为用户去掉那些不必要的参数。不过要慎重,仅仅去掉那些不重要的参数。这里有一个含有多个参数的动态网址的例子:

www.example.com/article/bin/answer.foo?language=en&answer=3&sid=98971298178906&query=URL

  • language=en – 标明这篇文章的语言

  • answer=3 – 这篇文章含有数字3

  • sid=8971298178906 – 会话标识代码是8971298178906

  • query=URL – 使这篇文章被找到的查询是[URL]


并不是所有的参数都提供额外的信息。所以将这个网址重写为www.example.com/article/bin/answer.foo?language=en&answer=3 可能不会引起任何问题,因为所有不相关的参数都去掉了。

下面是一些经过认为修改而看起来像是静态网址的例子。相比较没有重写、直接提供动态网址来说,这些网址可能会引起更多抓取方面的问题。

  • www.example.com/article/bin/answer.foo/en/3/98971298178906/URL

  • www.example.com/article/bin/answer.foo/language=en/answer=3/ sid=98971298178906/query=URL

  • www.example.com/article/bin/answer.foo/language/en/answer/3/sid/ 98971298178906/query/URL

  • www.example.com/article/bin/answer.foo/en,3,98971298178906,URL


如果您将动态网址重写成如上所述的示例的话,可能会导致我们很多不必要的抓取,因为这些网址中都含有会话标识(sid)和查询(query)参数的可变值,这无形中生成了很多看起来不同的URL,而他们包含的内容却是相同的。这些格式让我们很难理解通过这个网址返回的实际内容和参数URL以及98971298178906是无关的。不过,下面这个重写的例子却将所有无关的参数都去掉了:

  • www.example.com/article/bin/answer.foo/en/3


尽管我们可以正确地处理这个网址,我们还是不鼓励您使用这样的重写。因为它很难维护,而且一旦一个新的参数被加到原始的动态网址,那么这个网址就需要马上更新。不这样做的话就会再次导致生成一个隐藏了参数的貌似静态网址的URL。所以最好的解决方法是通常将动态网址保持他们原来的样子。或者,如果您去掉不相关的参数,请记住一定要保持这个网址是动态的:

  • www.example.com/article/bin/answer.foo?language=en&answer=3


我们希望这篇文章能够对您和我们的朋友有帮助,使围绕动态网址的各种推测清晰化。如果您有更多的问题的话,欢迎加入我们的网站管理员支持论坛进行讨论。

2010年6月18日星期五

PHP生成静态网页HTML

PHP生成静态网页HTML方法分为生成伪静态HTML和生成真正静态的HTML.

伪静态使用.htaccess来重定位:



RewriteEngine on
RewriteRule ([0-9]{1,}).html$ detail.php?nid=$1




上面表示遇到数字+html,比如99.html就会跳转到datail.php,然后把括号里的参数给$1. 这样就实现了使用静态htnl页面了。

真正的静态html,是使用php来生成html页面。对于那种网站访问量大的大站,一般采用这种方式。 下面介绍一种简单的方法的例子,两个文件:add.php和model.php

model.php



<html> 
<body>
此新闻的标题:{title}
此新闻的内容:{content}
</body>
</html>






add.php:



<?php
require_once("conn.php"); //引用conn.php,连接数据库
$title="我是标题";
$content="我是内容"; //获得表单变量
//以下建立一文本文档,其值自动计数
$countfile="count.txt";
if(!file_exists($countfile))
{
fopen($countfile,"w"); //如果此文件不存在,则自动建立一个
}
$fp=fopen($countfile,"r");
$num=fgets($fp,20);
$num=$num+1; //每次其值自动加一
fclose($fp);
$fp=fopen($countfile,"w");
fwrite($fp,$num); //更新其值
fclose($fp);
//利用上面自动计数的值获得HTML的路径$path
$houzui=".php";
$htmlfile ="archives";
if (!is_dir($htmlfile)) //先判断是否已经创建了此目录!无,则先创建此目录
{
mkdir($htmlfile);
}
$path=$htmlfile."/".$num.$houzui;
//这样形成的路径是自动增长的,如1.html,2.html,3.html……添加一条新闻便自动加上1
//以下用SQL语句添加数据至表 news
$sql="insert into news (title,content,path) values (‘".$title."’,’".$content."’,’".$path."’)";
$query=mysql_query($sql);
//以下为关键之处,把从表单获得的数据替换模板中的{title},{content}标记
$fp=fopen("model.php","r"); //只读打开模板
$str=fread($fp,filesize("model.php"));//读取模板中内容
$str=str_replace("{title}",$title,$str);
$str=str_replace("{content}",$content,$str);//替换内容
fclose($fp);
$handle=fopen($path,"w"); //写入方式打开新闻路径
fwrite($handle,$str); //把刚才替换的内容写进生成的HTML文件
fclose($handle);
//收尾工作:
echo "查看刚才添加的新闻";
?>




add.php首先生成count文件,主要用来计数,以后每生成一个html,就加1.然后把生成的html文件路径,文件名称,内容存入数据库。之后最主要的是,使用模板生成html文件。模板中需要替换的地方使用{}留着标记。

.htaccess文件保护实例讲解

比如说,想要保护admin文件夹,经过以下两个步骤:

步骤一、可以用记事本新建文件.htaccess,输入以下内容:

AuthType BasicAuth


UserFile D:/AppServ/www/Hill/admin/.htpasswd


AuthName "hill"


require valid-user


各行不多解释,关键是第二行,一定要是绝对路径,表示.htpasswd文件的位置。(位置任意)

然后把这个名为.htaccess的文件放到admin文件夹中。

步骤二、下面就是新建一个名为.htpasswd的文件,名字应该和上面第二行一致。

简单的方法:开始-运行-cmd-apache>bin\htpasswd -c .htpasswd name


下面就是输入密码了,是经过md5加密的。


建好后把这个名为.htpasswd的文件放到第二行指定的位置处。

再次说明一下UserFile第二行,花了我好长时间才弄好,如果提示500错误就是路径不正确。对于atbhost空间的位置是/home/注册名。

atbhost空间提供了存放密码的地方:.htpasswds

PHP生成静态网页HTML

PHP生成静态网页HTML方法分为生成伪静态HTML和生成真正静态的HTML.

伪静态使用.htaccess来重定位:



RewriteEngine on
RewriteRule ([0-9]{1,}).html$ detail.php?nid=$1




上面表示遇到数字+html,比如99.html就会跳转到datail.php,然后把括号里的参数给$1. 这样就实现了使用静态htnl页面了。

真正的静态html,是使用php来生成html页面。对于那种网站访问量大的大站,一般采用这种方式。 下面介绍一种简单的方法的例子,两个文件:add.php和model.php

model.php



<html> 
<body>
此新闻的标题:{title}
此新闻的内容:{content}
</body>
</html>






add.php:



<?php
require_once("conn.php"); //引用conn.php,连接数据库
$title="我是标题";
$content="我是内容"; //获得表单变量
//以下建立一文本文档,其值自动计数
$countfile="count.txt";
if(!file_exists($countfile))
{
fopen($countfile,"w"); //如果此文件不存在,则自动建立一个
}
$fp=fopen($countfile,"r");
$num=fgets($fp,20);
$num=$num+1; //每次其值自动加一
fclose($fp);
$fp=fopen($countfile,"w");
fwrite($fp,$num); //更新其值
fclose($fp);
//利用上面自动计数的值获得HTML的路径$path
$houzui=".php";
$htmlfile ="archives";
if (!is_dir($htmlfile)) //先判断是否已经创建了此目录!无,则先创建此目录
{
mkdir($htmlfile);
}
$path=$htmlfile."/".$num.$houzui;
//这样形成的路径是自动增长的,如1.html,2.html,3.html……添加一条新闻便自动加上1
//以下用SQL语句添加数据至表 news
$sql="insert into news (title,content,path) values (‘".$title."’,’".$content."’,’".$path."’)";
$query=mysql_query($sql);
//以下为关键之处,把从表单获得的数据替换模板中的{title},{content}标记
$fp=fopen("model.php","r"); //只读打开模板
$str=fread($fp,filesize("model.php"));//读取模板中内容
$str=str_replace("{title}",$title,$str);
$str=str_replace("{content}",$content,$str);//替换内容
fclose($fp);
$handle=fopen($path,"w"); //写入方式打开新闻路径
fwrite($handle,$str); //把刚才替换的内容写进生成的HTML文件
fclose($handle);
//收尾工作:
echo "查看刚才添加的新闻";
?>




add.php首先生成count文件,主要用来计数,以后每生成一个html,就加1.然后把生成的html文件路径,文件名称,内容存入数据库。之后最主要的是,使用模板生成html文件。模板中需要替换的地方使用{}留着标记。

.htaccess文件保护实例讲解

比如说,想要保护admin文件夹,经过以下两个步骤:

步骤一、可以用记事本新建文件.htaccess,输入以下内容:

AuthType BasicAuth


UserFile D:/AppServ/www/Hill/admin/.htpasswd


AuthName "hill"


require valid-user


各行不多解释,关键是第二行,一定要是绝对路径,表示.htpasswd文件的位置。(位置任意)

然后把这个名为.htaccess的文件放到admin文件夹中。

步骤二、下面就是新建一个名为.htpasswd的文件,名字应该和上面第二行一致。

简单的方法:开始-运行-cmd-apache>binhtpasswd -c .htpasswd name


下面就是输入密码了,是经过md5加密的。


建好后把这个名为.htpasswd的文件放到第二行指定的位置处。

再次说明一下UserFile第二行,花了我好长时间才弄好,如果提示500错误就是路径不正确。对于atbhost空间的位置是/home/注册名。

atbhost空间提供了存放密码的地方:.htpasswds

2010年6月17日星期四

考研前的那年暑假

上学无用,工作不好找的论调在耳边飘了好几年,于是就下了考研的决心,把无限的精神放到有限的时间当中去。

大三的下学期,过年从家里回学校,随处可见的是辅导班们的兜售分子在活动。他们一般都打着免费半个月到一个月的试读名义来引诱你,反正是免费,进去看看吧。我也就随便找了个班,插了进去。这个是试读一个月的高数初级班,每周六全天视频讲授。视频讲得飞快,像看A片用快进的那种感觉,很是刺激,就是不经过大脑。大脑来不及跟着屏幕转,生怕过后忘了,一直在记笔记,想等回去了好好消化(不过到考研结束了那些笔记也都没有看过)。

每天下午放过学,我就和几个同学加入到自修室学习的行列了。诺大的一个自修室,渐渐地人越来越少,之后就变成我们几个。等人少了之后,我们开始还会学学习,慢慢的学累了或者困了就会说些话,这一说可一发不可收拾,一直可以到这边自修室打烊。

晚上十点会听中央人民广播电台经济之声的英语之夜。这个节目的主持人语言甜美,前面一段会说些时事新闻,比较幽默好玩,之后会说些经济新闻,基本上听不懂。有时会有老外谈他们在中国的生活,我最喜欢这一段了。

和我们一起学习的有个叫阳子的,这小子很会吃,还很会做菜,很多菜做的都是那么地道,他说,只要吃过的菜一般他都会做。很强!一个独生子,在家养尊处优,能有这样的手艺真的让我们很是佩服。阳子虽然是独生的,可没有被惯养,他能和我们这些贫下中农一起说笑吃饭交往玩闹。

到暑假了,我们几个出去找房子租,准备暑假不回去在这准备考研。住在学校外面,每天十点起来,刚要看会儿书,阳子就说中午吃什么,我去做去。于是拉着我们几个出去买菜,买什么,当然他说了算。等菜买回来了,我们就风风火火地开始劳作了,洗菜洗盘子。在阳子手里我们尝到了啤酒鱼、焖鸡块、迷你大盘鸡、烧茄子、各种炒菜。阳子可不傻,时不时会搞些活动让大家都来些家乡菜,我确实不会做,做了锅泡面,端出来,大家一致同意没有通过。

暑假俩月,都怪阳子的厨艺太好,整天把我们吃的,“此间乐不考研”了。当酒足饭饱之后,我们在一起打“升级”80分。阳子从开始不会打经过两个月的培训后成了升级达人了。这个暑假,习没怎么学着,可学会了怎么吃,怎么打牌了。收获还是不少的。

2010年6月16日星期三

又是端午

又是一年端午。小时候过端午总会有自己的纸人玩具,或者有一套新的衣服,还可以吃上肉和粽子。当时的心情是现在无法体会的了,当时的心好小,一不小心就装满了。小时候一个劲儿地玩,玩累了回家睡觉,大不了和别的小朋友因为鸡毛蒜皮的事弄得一时不开心,可过两天就会忘得了。当时的打架打闹游戏怎么会那么有意思呢?不知道孤独的滋味,也没有爱情的烦恼,有自己的小利益,可心是那么得轻,梦想是那么得远,日子总觉得永远都过不完。

移动飞信实现解绑手机号码

移动飞信终于可可以实现解绑手机号码了,当你不得不换号时,再不用担心飞信上累加的虚拟价值会随着丢失了。这势必会增加用户粘连性,牵住用户。飞信像极了中国的另一个IM巨头QQ,没错,飞信始终在学习QQ,不过学的不怎么像样。

QQ已经十多年了,它的辉煌与成就可以说是偶然加必然,伴随着中国互联网的兴起与im的走俏而渐渐被人所知,占据了中国即时通讯市场的巨大份额。同时,腾讯借助QQ的桌面占有率,和超强的模仿力,慢慢构建了所谓的腾讯互联网王国,从博客空间、社区、休闲游戏、拍拍、门户网站、输入法、QQ影音...在短短的十年中圈了好大一片地。但是,另一个领域它却没法掌控。

在移动互联领域中,飞信因为有中国移动的撑腰,依靠与手机的无缝连接,在短短的时间里得到了快速的发展。可能由于后台太大,造成了尾大不掉。飞信在发展的过程中,不管是功能的添加还是版本的更新,总显得缓慢臃肿。前一段时间闹得沸沸扬扬的“非常6+1”,凸显了飞信的安全机制的不足。

IM的趋势是互通,用户还是希望可以像使用邮箱一样,使用任一家公司的IM相互通信。

又是端午

又是一年端午。小时候过端午总会有自己的纸人玩具,或者有一套新的衣服,还可以吃上肉和粽子。当时的心情是现在无法体会的了,当时的心好小,一不小心就装满了。小时候一个劲儿地玩,玩累了回家睡觉,大不了和别的小朋友因为鸡毛蒜皮的事弄得一时不开心,可过两天就会忘得了。当时的打架打闹游戏怎么会那么有意思呢?不知道孤独的滋味,也没有爱情的烦恼,有自己的小利益,可心是那么得轻,梦想是那么得远,日子总觉得永远都过不完。

2010年6月15日星期二

质数,合数,分解质因数等相关概念

好多VB教材中会用质数,合数等作例子来讲解知识,现在来总结一下它们的主要概念。

质数:也叫做素数,除了1和它本身,不能被其它数整除的正整数。也就是说,只能分解成1和它本身相乘。比如:2、3、5、7、9……

合数:除了1和它本身,可以被其它数整除的正整数。比如:4、6、8、10……

1既不是质数也不是合数。 每个合数都可以分解成几个质数相乘的形式。

质因数(质因子):能整除给定正整数的质数。

正整数的因数分解(分解质因数):將正整数表示为一连串的质因子相乘。

短除法分解质因数的方法:

①用能整除这个数的最小质数去除

②商是合数,继续除下去

③商是质数,把各个除数和商写成连乘的形式

例子:分解质因数24

用能整除这个数的最小质数去除24:24/2=12

商是12,为合数,继续除:12/2=6

商是6,为合数,继续除:6/2=3

商是3,为质数,结束。12=2*2*2*3

VB程序
Public Function decprime(k As Integer) As Boolean
Dim i As Integer
i = 2 '用最小质数2去除
While k > 1
If k Mod i = 0 Then '如果可以整除,则i为所求的质因子
Print i
k = k / i '求得商
Else
i = i + 1
End If
Wend
End Function

2010年6月14日星期一

我与QQ

几年前和同学一起去网吧,看着他打开电脑很迅速地点开一个企鹅图标,之后就是电脑右下角不停地闪动,这个同学熟练地操纵着各个窗口,打字,发送。我不知道他不亦乐乎的忙着什么,当然更不知道QQ和腾讯的关系。

之后我就有了属于自己的QQ,是别人帮注册的。不时地,总有人吆喝着“上网去”,我也会偶尔跟着。坐到电脑前,不知道该干什么,于是打开了那只叫做QQ的企鹅。没人和我聊,于是就加了一大堆陌生的人。

上网归来,仍然会回味那种聊天的滋味和那种嘀嘀嘀的声音。慢慢地学会了注册QQ,注册了一大堆的号码;学会了和人聊天,虽然下次再聊时彼此都不知道是谁。后来的所谓的上网也就是聊天了。

随着QQ上添加的人数的增多,为了想和想聊的人聊天,避免和不想聊的人不聊天,选择了隐身登录,再来寻找那些想聊天的人。渐渐地,这样的人越来越少。

再以后,上网,打开电脑,隐身登上QQ,最小化,等待想聊天的人。时间长了,这些人总没有出现,自己也不知道到底哪些是想和他聊天的人。

现在会偶尔登上QQ,很偶尔。QQ上所提供的服务都不是我所必须的。聊天我会选择Gtalk或者Skype,很少在QQ中聊天,一是因为不知道它会把我的聊天记录往哪里使,说不定哪天一时兴起说了些不该说的话而因言获罪;二是确实不太信任它,据说还扫描用户电脑,一个声称保护用户隐私软件的聊天信息却可以作为呈堂证供。当你在畅快地和别人聊天时,突然想到所说的话可能会原原本本出现在不同的场景另外人的手中,那种惧怕就如在拉屎时被陌生人盯着看。可是不能不拉屎,但可以换个地方,或者拉的时候小心观察注意隐藏,一旦有人过来立马止住,提上裤子走人。

PHP和JS的几点总结

1、Javascript的值传给php来处理可以把这个值放在一个hidden表单里面,例如:




<---javascript>
form.myclass.value = classString;
<---javascript>

这样的话就把classString的值传给了name是myclass的隐藏的表单。

2、数据库查找的时候是精确查找,一定要注意查找的字符串中的空格,今天我被这个问题快整崩溃了,怎么着都不对,又找不到错误,例如:

$array = @explode(“”,$class); //把$class分解并放到$array数组中

我没有想到这个分解的字符串中存在的空格。具体的过程是这样的:

比如给一段字符串:abc

分出来的字符串为:a,b,c, ,

c后面是存在空格的。

我在数据库中查找的时候总是不对,错误就在这里了。

3、表单提交按钮中的return

有return的语句



无return的语句



上面两条语句的区别就是:有return时,当funtion返回false时,网页不提交。
4、JS中使用<!— —>的作用是注释,主要为了支持老版本的浏览器。
5、表单中的关键字



上面的语句中出现了“class”的关键字,调试的时候除了问题,我怎么找都没有找到错误。所以给表单中的元素命名时最好不要使用关键字,比如:


PHP和JS的几点总结

1、Javascript的值传给php来处理可以把这个值放在一个hidden表单里面,例如:



<form1>
<input type="hidden" name="myclass" id="myclass" value="" />
<form1/>
<---javascript>
form1.myclass.value = classString;
<---javascript>




这样的话就把classString的值传给了name是class的隐藏的表单.

2、数据库查找的时候是精确查找,一定要注意查找的字符串中的空格,今天我被这个问题快整崩溃了,怎么都不对,又找不到错误,例如:
$array = @explode("",$class); //把$class用分解并放到$array数组中
我没有想到这个分解的字符串中的空格。
给一段字符串:abc
分出来的字符串为:a,b,c, ,
注意c后面的空格。
我在数据库中查找的时候总是不对,错误就在这里了。
3、




<input type="submit" name="Submit" value="完成" onclick="return checkEmpty(this.form)" />







<input type="submit" name="Submit" value="完成" onclick="checkEmpty(this.form)" />




就是有和没有return的区别,有return时,当funtion返回false时,网页不提交。
4、JS中使用<!---   --->的作用是注释,主要为了支持老版本的浏览器。



5、



<input type="hidden" name="myClass" id="myClass" value="" />




给表单起名字时最好不要使用关键字,我开始起的名字是class,怎么找都没有找到错误。

2010年6月13日星期日

甜的忧伤

今天看了吴君如和任达华的电影《岁月神偷》,故事发生在60年代的香港,一家四口。爸爸在巷子头做皮鞋,养活着整个家庭。妈妈是个能说勤快的女人,打理着生意。大儿子在上高中,长得帅气,学习刻苦,成绩也优异,而且110米栏上总拿冠军。二儿子在上小学,调皮,爱捣蛋,总是被老师惩罚着“报时间”。故事讲的很缓慢,让人有种很温馨的感觉。

然而,大儿子第一次去喜欢的女孩子家,发现对方有个很有钱的家庭。贫家子弟喜欢上富家小姐也是个很俗套的故事,讲的人太多了。故事没有讲这种爱情的无奈,和与之相随的挣扎,抗争,奋斗。而是给出了大儿子得了白血病这个转折。之后筹钱带孩子到北京去看病。我不知道为什么会加上这一段,难道是为了照顾内地观众?

大儿子的病还是没有看好,离去了。过了几年,爸爸也离去了。

故事结局不好看,但看过之后觉得值得,让我们看到了小时候的影子,明白了片头那句话讲述的内容,“在幻变的世间,岁月,原是最大的小偷”。香港的电影如果都能像这样来踏实的讲述生活,我想观众也会乐于接受的,香港电影也会好起来的。

有一个台湾的电影叫做《听说》,和这个讲述的正好相反。姐姐是个先天听障,是个游泳健将,获得的奖牌换得的奖金补贴家用。妹妹聪明善良,懂得照顾姐姐。出现一个送外卖的小伙子,无缘无故的喜欢上了妹妹。他以为妹妹也是听障,一直在用手语和她进行交流。很难得的一个小伙子,喜欢上一个聋哑人,有多少人会做到呢。

整个电影看下来很累,大部分用的是手语,我当然看不懂手语,看字幕,字幕却是繁体。看到最后才知道为什么叫,听说。整个故事就是片尾的一句话“爱情和梦想一样,不用听,不用说,也不用翻译,就能感受到它……”的演绎。

这两部电影很像,整个电影看下来只得到一句话。爱,也许总伴随着忧伤。

Robots文件举例

Robots使得网络蜘蛛按规矩搜索网站,也可以使蜘蛛远离某些服务器上的目录。下面是一个Robots.txt的例子:(可以通过谷歌网站管理员工具生成)

User-agent: *
Disallow: /admin/   后台管理文件
Disallow: /require/   程序文件
Disallow: /attachment/  附件
Disallow: /images/     图片
Disallow: /data/       数据库文件
Disallow: /template/   模板文件
Disallow: /css/       样式表文件
Disallow: /lang/      编码文件
Disallow: /script/    脚本文件


*表示对于所有的搜索引擎,Disallow表示不允许访问的目录,如果网站建有站点地图,只需在Robots.txt中添加下列行:


Sitemap: http://www.example.com/sitemap.xml

TinyMCE中文语言包安装

官方网站下载中文包tinymce_lang_pack.zip,将其解压后放到TinyMCE文件夹的如下目录jscripts\tiny_mce中,覆盖里面的文件,然后到页面的tinyMCE初始化语句 tinyMCE.init 中加上一行:

language : ”zh”,


注意不要丢失最后的逗号“,” ,不然会出错。

PHP生成Google Sitemaps

Google Sitemaps是在网站根目录下,建立的网站网页的xml索引文件,然后通过Google Sitemaps的提交页面,提交该xml文件,这样的话Google可以方便地找到你网站的网页索引。传统方式是Google爬虫来查找你的网页,而现在是你主动地提交自己的网页索引。显而易见的好处是,你的网站可以更好更快地被搜索引擎索引到更多的网页。

我们可以通过一些方式来生成这个sitemap,然后拷贝到网站根目录并提交,wordpress也可以通过添加插件来自动生成并主动提交。对于PHP,我们同样可以像生成RSS的XML文件一样来生成sitemap的XML文件。

提供一个PHP生成sitemap的类(google_sitemap.class.php)和实例(google_sitemap-example.php)文件,点击下载地址

Robots文件举例

Robots使得网络蜘蛛按规矩搜索网站,也可以使蜘蛛远离某些服务器上的目录。下面是一个Robots.txt的例子:(可以通过谷歌网站管理员工具生成)

User-agent: *
Disallow: /admin/   后台管理文件
Disallow: /require/   程序文件
Disallow: /attachment/  附件
Disallow: /images/     图片
Disallow: /data/       数据库文件
Disallow: /template/   模板文件
Disallow: /css/       样式表文件
Disallow: /lang/      编码文件
Disallow: /script/    脚本文件


*表示对于所有的搜索引擎,Disallow表示不允许访问的目录,如果网站建有站点地图,只需在Robots.txt中添加下列行:


Sitemap: http://www.example.com/sitemap.xml

PHP生成Google Sitemaps

Google Sitemaps是在网站根目录下,建立的网站网页的xml索引文件,然后通过Google Sitemaps的提交页面,提交该xml文件,这样的话Google可以方便地找到你网站的网页索引。传统方式是Google爬虫来查找你的网页,而现在是你主动地提交自己的网页索引。显而易见的好处是,你的网站可以更好更快地被搜索引擎索引到更多的网页。

我们可以通过一些方式来生成这个sitemap,然后拷贝到网站根目录并提交,wordpress也可以通过添加插件来自动生成并主动提交。对于PHP,我们同样可以像生成RSS的XML文件一样来生成sitemap的XML文件。

下面是一个www.phpclasses.org的PHP生成sitemap的类和例子。

下载地址

2010年6月12日星期六

首页内容的截取输出方式

一般在首页或者在评论处需要使用内容的截取输出,我在使用“mb_strimwidth()”发现在最后一个位置会发现截取半个字的现象,显示的是个小框框“口”。之后使用“mb_substr()”就没有这个问题了。在截断输出内容,我们还应该搭配 strip_tags() 来共同实现。strip_tags() 的作用是清除字符串内的 html 标签,放在这里就是清除输出的内容格式(包括清除图片)。既然目的是截取小段文字,自然也不需讲求格式。下面是strip_tags()函数:



string strip_tags ( string $str [, string $allowable_tags ] )




把你要输出的内容





<?=$rs->content ?>




替换为:





<? mb_substr(strip_tags($rs->content), 0, 200, 'utf-8');?>




通过清除格式函数和截取函数的搭配使用,就可以实现输出200个长度的无格式字了,当然你网页的编码如果是gb2312,记得要把utf-8修改为gb2312.

2010年6月11日星期五

网页title左边显示网页的logo图标

打开某一个网页会在浏览器的标签栏处显示该网页的标题和图标,当网页被添加到收藏夹或者书签中时也会出现网页的图标,怎么在网页title左边显示网页的logo图标呢?方法是:找一个或者作一个ico文件,然后把文件的名字改为favicon.ico,像素大小为16*16,所使用的颜色不得超过16色,然后再把favicon.ico放到网站的根目录下就行了。

这样的话浏览器会不停的搜索您的网站的根目录,只要它一发现了名字叫做favicon.ico 这个文件,就会将该图标显示在访问者的地址栏和收藏夹列表中了。

另一种实现方法是在网页HEAD标记中添加如下代码:<HEAD> <LINK REL=”SHORTCUT ICON” HREF=”http://网站地址/favicon.ico”></HEAD> 使用这个做法的话,就不一定要把图形文件放在网站的根目录下面了,你可以放在任何位置,甚至直接连结到其他网站上面的图形文件也可以,而且图形文件的文件 名也不一定要叫做 favicon.ico,可以自己随便取。 不过要注意的是使用这个做法的话,只有在把有加入上面 HTML 语法的页面加入书签的时候才会有作用。

我开始使用的是第一种方法,当时没有注意到图标的像素大小限制,用的是128*128的ico图标,在Chrome浏览器中显示正常,不过在IE中不显示。所以还是建议按规则生成图标。

php绝对路径与相对路径



这篇文章转自网上很流行的一篇《php绝对路径与相对路径之间关系的的深入研究》,它的亮点是使用chdir(dirname(__FILE__)); 其他的我觉得讲的有点罗嗦,总结一下:一般我们用相对路径中比较多的就是../,简单的可以理解为“向上一层”。比如说,../../b/a.php表示向上两层,也就是找到b文件夹所在目录,然后找到b文件夹中的a.php。绝对路径中使用$_SERVER['DOCUMENT_ROOT']来取得根目录,同时,dirname(__FILE__)函数返回的是当前文件的路径。

-----------------------------

php中好像不能像asp那样用“/”表示根目录,代之以$_SERVER['DOCUMENT_ROOT'],其它则相同:../表示向上一层。./表示当前层。假如现在a/b/c/s.php要调用根目录下的 /bb/s2.txt,则:






$RootDir = $_SERVER['DOCUMENT_ROOT'];
$fireDir = "$RootDir/bb/s2.txt";



或者:“../../../bb/s2.txt”表示向上返回到b再向上到a再向上到根目录然后到bb下。前一阵子老是受php开发中,文件互相引入require()相对位置关系的困扰,为了彻底弄清它们的关系,笔者做了个实验。

以下是实验图:



当前项目(project2)的绝对路径是:D:\www\php_case\Coucom_make。也就是我们当前项目的根目录root.
为了能更加清楚的表述不同级别的目录文件相互的引入问题,偶大胆将引用分成三种类型即:上级对下级的引用(简称上级引用,英文译为:superior to underling。简称(stou)).
下级对上级的引用(简称下级引用,英文反之便是)平级引用或叫同级引用(英文:paratactic)。好了,我们明确了引用类型,下面我们来看不同类型引用它们有着什么样的规则。我们先来说说上级引用:看我们的实验图,在图中项目下分别有aa bb ee 三个同级目录和一个index.php文件,在bb下又有cc目录,cc下又有dd目录和cc.php ccc.php两个文件,同样dd下也包含一个dd.php文件。凡是上层对下层均属上级引用.








例如:index.php对于所有文件的引用:
cc .php对dd.php的引用:
ee.php对dd.php的引用:

大家仔细看一下目录结构,便会发现这三种引用虽然同属于上级引用,但它们又不完全相同,我把它分成两种情况:即在上级引用中存在两种引用情况:1.从属的上级引用(类如cc.php对dd.php,,因为这两个文件同属于cc目录)2.非从属的上级引用(类如index.php对于所有文件的引用和ee.php对dd.php的引用都属于这种情况因为它们与被引用的文件并没有一个共同的父目录,在能相对于站点根目录).对于从属上级引用:以下是在cc.php对dd.php的引用






require('dd/dd.php');

对于非从属上级引用:以下是在ee.php中对cc.php的引用






require('../bb/cc/cc.php');

以上所说的是上级引用,下面我们来了解一下下级引用!同理下层对上层的引用都属于下级引用,同样分成从属与非从属两类,从属下级引用相对路径以它们的父目录为根目录,例如:ttt.php对bbff.php的引用就属于这种情况:require('../bbff.php');非从属的下级引用却是以网站的根目录为准的,例如:ccc.php对ee.php的引用: require('../../ee/ee.php');以上是下级引用的介绍,最后我们来看一下平级引用或者叫同级引用,其实同级引用也是分为这两种情况:从属同级引与非从属同级引用从属同级引用很简单:即在同一个目录下的两个文件的引用例如:在dd.php中引用ttt.php require('ttt.php');非从属同级引用:即不在同一个目录下(没有共同的父目录,只有以网站目站为父目录的情况),但是级别是相同的两个文件的引用,例如: 在aa.php在引用ee.php   require('../ee/ee.php');以上是三种类型不同情况下的引用,另外还有涉及到嵌套引用的问题。比如:ff.php引用dd.php,而dd.php又引用的gf.php,这种情况,本来dd.php 引用gf.php属于下级引用中的非从属引用,写法是这样的:require('../../../ee/gf.php');而ff.php引用dd.php属于上级引用中的从属引用,写法是这样的:require('./cc/dd/dd.php'); 可是你会发现在ff.php中无法找到gf.php文件,那该如何写呢?我告诉你应该在dd.php中这样写:require('../ee/gf.php');只有这样写就正确了,为什么呢?因为在涉及到嵌套引用的时候被引用文件的相对路径要以最终的引用文件为准!


简而言之:其实很简单的,你用你的web根目录做根目录.不管你怎么定,你文件肯定有一个全部都要包含的文件的,比如有的较global.php,有的较common.php假如这个文件放再根目录








wwwroot/global.php

里面第一行你加个chdir(dirname(__FILE__)); //切换到global.php所在目录就是跟目录


其他文件使用








require "../../../global.php";
require "aa/aa.php";
require "bb/bb/cc.php";

这样就行了,因为你的global.php已经把路径切换到wwwroot了,你不用像很多人那么麻烦






define('ROOT_PATH',dirname(__FILE__));
require ROOT_PATH.....

chdir(dirname(__FILE__)); 的确很好使,相对位置引入这个文件其他引入文件只要以他为基准就好了。

电脑屏幕锁PClock

有些时候接个电话或者有急事处理需要离开电脑,此时不想关闭电脑或者没有时间,再或者想出门让电脑自己运行下载资料,同时不想别人动自己的电脑,这时候我们需要一个可以让电脑运行,但不能被操作的简单软件。于是,我花了两天的时间写了一个很小的程序软件来实现这个功能。

软件主要功能:

  1. 在您离开座位时迅速锁定电脑桌面,阻止他人未经您的许可使用您的电脑。

  2. 可个性化打造您中意的锁屏界面,设置界面可让您插入图片(照片等),更改背景。

  3. 可随时修改您的登陆密码;密码加密,保证您电脑的安全。

  4. 软件可设置是否随系统启动。

  5. 当他人使用\"Ctrl+Alt+Del\",\"Win\"或\"Ctrl+Esc\"等功能键要强行进入电脑时,软件将屏蔽所有键盘按键。


软件的主界面

这个就是程序运行起来的主要界面,通过输入密码,点击确定进入系统。输入密码,点击设置,进入系统并设置。

主界面


设置界面

设置界面可以修改密码,更换背景,设置开机启动等。

设置界面

下面是整个程序的安装文件和源文件。值得说明的是,程序做好后应该使用专业的程序打包软件来进行打包。Setup Factory是个非常不错的程序打包制作工具。对于VB程序来说,主要的步骤是:a.新建工程,根据向导填入信息。b.工具->扫描visual basic工程,添加vb程序的路径,它会自动添加需要的文件。自己再把vb生成的exe文件添加进去即可。 (程序安装完毕,记住初始密码是123,再运行。)

下载地址

2010年6月10日星期四

PHP建站之后的几点总结

1、网站在设计前应该首先考虑一下,网站的各模块,各文件的树层次关系。

2、富文本编辑器。网上用js写的富文本编辑器很多,tinymce算是不错的一个,功能强大,可定制性强,wordpress和人人网用的就是这个。

3、CSS网页布局明显比传统的表格布局好,简单可操作性强。我也是借了好几本关于CSS的书看,头都看大了。建议初学者可以先下载一下别人的模板研究一下。小众软件上介绍的Simple CSS也不错,适合小面积改动CSS。

4、php中出现乱码:首先,各个网页的编码要一致,或者都是”charset=utf-8″或者都是”charset=gb2312.”其次,用记事本或者Dreamweaver新建的文件会在文件头自动添加bom头标记。对已经出现乱码的文件可以使用UltraEdit另存为一下,注意格式中选中no bom。

5、rss确实是很神奇的东西,能让你不登录网站就能得到网页的内容。PHP实现rss的输出,也就是用PHP输出XML格式的文件。记住一定是XML格式的,前面和后面不要添加任何东西。这个地址上的文章介绍得很简单明了:http://www.ownself.org/oswpblog/?p=37

6、网络空间的数据库的名称不是随便的,我申请的空间数据库名称必须是“注册名_名称”。

7、内容的截断输出,可以使用这个函数:” mb_substr(“这里是内容”, 0, 3, ‘utf-8′)”。输出第0个字符开始,3个字数。网页的跳转可以使用js实现,这就是一个转到上一页的代码:”history.go(-1)”

8、下面是个网页跳转时所带参数举例,多个参数用&连接:detail.php?id=3&md=9

9、网站可以使用空间提供的二级域名,也可以申请一下自己的域名,这样的好处是,当你变换空间时,别人还可以找到你的网站。免费的顶级域名很少,TK就是一个,网上也有申请的教程。我开始怎么都申请不下来,之后换了代理才搞定。

10、网站建好了当然需要一个网站数据统计的功能,推荐Google analytics,功能强大。想赚钱的话,也可以在网站上添加 Google adsence代码。

PHP建站之后的几点总结

1、网站在设计前应该首先考虑一下,网站的各模块,各文件的树层次关系。

2、富文本编辑器。网上用js写的富文本编辑器很多,tinymce算是不错的一个,功能强大,可定制性强,wordpress和人人网用的就是这个。

3、CSS网页布局明显比传统的表格布局好,简单可操作性强。我也是借了好几本关于CSS的书看,头都看大了。建议初学者可以先下载一下别人的模板研究一下。小众软件上介绍的Simple CSS也不错,适合小面积改动CSS。

4、php中出现乱码:首先,各个网页的编码要一致,或者都是"charset=utf-8"或者都是"charset=gb2312."其次,用记事本或者Dreamweaver新建的文件会在文件头自动添加bom头标记。对已经出现乱码的文件可以使用UltraEdit另存为一下,注意格式中选中no bom。

5、rss确实是很神奇的东西,能让你不登录网站就能得到网页的内容。PHP实现rss的输出,也就是用PHP输出XML格式的文件。记住一定是XML格式的,前面和后面不要添加任何东西。这个地址上的文章介绍得很简单明了:http://www.ownself.org/oswpblog/?p=37

6、网络空间的数据库的名称不是随便的,我申请的空间数据库名称必须是“注册名_名称”。

7、内容的截断输出,可以使用这个函数:" mb_substr("这里是内容", 0, 3, 'utf-8')"。输出第0个字符开始,3个字数。网页的跳转可以使用js实现,这就是一个转到上一页的代码:"history.go(-1)"

8、下面是个网页跳转时所带参数举例,多个参数用&连接:detail.php?id=3&md=9

9、网站可以使用空间提供的二级域名,也可以申请一下自己的域名,这样的好处是,当你变换空间时,别人还可以找到你的网站。免费的顶级域名很少,TK就是一个,网上也有申请的教程。我开始怎么都申请不下来,之后换了代理才搞定。

10、网站建好了当然需要一个网站数据统计的功能,推荐Google analytics,功能强大。想赚钱的话,也可以在网站上添加 Google adsence代码。

2010年6月9日星期三

为什么你能看到它——这个网站的由来

某年某月的某个明媚的下午,我像往常一样在谷歌中查找自己需要的内容,突然页面嗖的一下不见了,我知道我在大白天里撞墙了。我清楚地记得我并没有搜什么党和国家不允许的内容。翻墙有术,大家都有自己的方法。我平时也是偶尔翻一下,主要用来查资料,有些资料毕竟国内没有。偶尔也会上一下twitter,facebook,上的也不多,所以每次翻墙都是有急用才使得。现有的翻墙术中,简单的不稳定,稳定的太麻烦。继续谷歌搜索了一下,有介绍使用SSH翻墙之术。此方法需要自己有一个网络空间。于是就跟着教程做了下去,顺利申请了个免费的空间。之后又一想,反正自己有了个空间了何必不做一个个人博客网站玩玩,这是好久以前的想法总没有实现,可能是太懒的缘故。于是我用了一个星期做了个粗糙的网站,也就是您现在看到的这些。回过来想想,如果不是翻墙的动力,也没有现在的这些。以后,就着这个地方,记录自己走过的路程和学习心得。

静风博客开啦

这里是一块园地,是我们心情的后花园。当有所思,有所想时,种下自赏的孤芳。

这里是记录成长的笔记,或喜或悲,或哀或怨,有属于时代的点滴。

这里是我们知识管理的平台,分享技术与心得。

这里是我们网上的涂鸦,以我们的视角查看世界,感受生活。

我们想把生活中发生的事情,人生的感悟,学习的心得,工作的劳累,成长的烦恼都倾述在这里,所以显得杂乱无章,也许换个角度会异彩纷呈。

总之,这里是静风博客。