|
与此相关的链接
和平海底2 | Auciou | 自由勇专栏
公益:UFO问答与2012年升华
郝相国先生外星人接触官方网站
呼叫星际联邦/祈祷/许愿
我们看不见外星人的原因
郝相国先生与外星人接触进展(6)
郝相国先生与外星人接触进展(5)
Blog存档 Archives
2010年05月(4)
2010年01月(7)
2009年12月(10)
2009年11月(4)
2009年10月(8)
2009年09月(24)
2009年08月(20)
2009年07月(6)
2009年06月(11)
2009年05月(16)
2009年04月(20)
2009年03月(29)
2009年02月(18)
2009年01月(15)
2008年12月(17)
2008年11月(10)
2008年10月(13)
2008年09月(8)
2008年08月(4)
2008年07月(5)
2008年06月(9)
2008年05月(12)
2008年04月(15)
2008年03月(26)
2008年02月(22)
2008年01月(29)
2007年12月(30)
2007年11月(28)
2007年10月(30)
2007年09月(8)
2007年08月(8)
2007年07月(21)
2007年06月(23)
2007年05月(31)
2007年04月(34)
2007年03月(29)
2007年02月(18)
2007年01月(41)
2006年12月(23)
2006年11月(10)
2006年10月(10)
2006年09月(29)
2006年08月(33)
2006年07月(17)
2006年06月(30)
2006年05月(4)
2006年01月(3)
2005年09月(4)
| 2009年02月的文档 18篇: |
我的分页方法分享 2009年02月25日 19:52 分页是程序永恒的主题,2002年的时候我曾经见过一个留言板的分页程序,但是很难读懂。于是我大约在2005年的时候做了一个很大的改进,推算了另一种简单易读的方法,目前我所有的分页程序都是用此方法,这个算法从来没有出过错,无论是ASP、ASP.net、PHP、JSP,还是CGI,都是可以通用的。例如博客或者论坛程序中,以PHP为例,用此程序可以计算出总页数$p、当前页的起始位置$w1的值和结束位置$w2的值,程序如下: <?$pa=$_GET["page"]; //或者省略查询ID名$pa=$_SERVER['QUERY_STRING']; 说明: 分页时,读取多篇博客文章的方法: for ($i=w1; $i<=w2; $i++){} 这是比较简单易读的算法。在搜索程序中,或者打开多段数据库的时候,分页程序就会复杂很多,我曾经连续做了好几天的演算。 2009年02月22日 12:48 如果一个程序有几十行、几百行,如果程序套用3层以上的大括号,检查某个大括号的开始位置,需要花费很多的时间。可以先在本地硬盘制作一个工具,将{替换为{←←!!!,将}替换为!!!→→},如下图: 然后把输出的带有这些特殊符号的程序复制到桌面的一个文件例如5.php,使用文本工具EmEditor打开。然后查找!!!,因为相同的查找关键词EmEditor会用绿色高亮显示,所以查找起来会方便很多,一目了然,如下图: 然后先将内层的大括号从开始到结束部分删除。如下图,先将其选中,然后删除: 最后可以找到,最外层的大括号的开始处是if ($acf)这句。 当然,即使不使用EmEditor的高亮显示查找功能,将{替换为{■←←!!!,将}替换为!!!→→■},使用黑色的方块,会使程序的大括号位置查找起来更加清晰,如下图: 2009年02月21日 13:06 感谢你阅读我的文字!新时代最好的读物是《一的法则》和《与上帝对话》这2本书,《阿米》也是很好的一本书,国内在这方面已经有很专业的论坛,比如求道网。阅读过《一的法则》的人,目前还没有人能够真正将《一的法则》这本书反证,因此它暂时是UFO、超自然现象最重要的依据之一,也可以说我个人觉得《一的法则》权威性很高。如Ra所说,现实中也确实有相当少的人能够在理解较少扭曲的情况下阅读这本书。然而《一的法则》揭示了一些超自然现象的原因,更主要是侧重提高人类的意识,传递哲学知识。 《一的法则》所传递的真理,有一些与以往的历史、生物、物理教学课本的知识是不同的: 等等,还有很多。佛家的很多说法,与《一的法则》和《与上帝对话》十分一致。小乘佛法度自己,大乘度他人。苦口婆心地传递真相,会承受很多的攻击,是因为社会的业力加在自己身上而受到很大的痛苦,然而一定会有人知道我们在说什么,他们将会在明白真相中找到喜悦和自由。帮助了别人,最终也会提升自己。 祈祷什么,它将会成为现实,或者增大成为可能的机率。请参考《一的法则》的第7场,如何呼叫这个Confederation of Planets,这就是祈祷的方法。根据Ra的字面意思,只有大多数人同时呼叫/祈祷,呼叫Confederation of Planets的帮助,才会使地球迅速发生良好的转变,非洲也将不会每年几百万人饿死,他们很快就会过上幸福和自由的生活。《与上帝对话》中提到,对于个人事业、生活的祈祷,正确的方法是感激地祈祷。感激什么,将会变成现实。 2009年02月20日 15:02 这个投票可能是必要的,也可能不那么必要。我经常觉得,感觉很不相同,所以我选4。用电话与别人谈话的时候,感觉像是在另外的一个平台。即使是我最熟悉的家人,打电话与面谈的感觉,也很不相同。 2009年02月19日 20:18 有位网友提到,网页编码选择GB2312还是UTF-8好?正好我的博客也想谈这方面的话题,在此做一讨论。 因此,最佳的方案是:中文网页使用GB2312语言,英文网页使用UTF-8语言。 2009年02月15日 22:37 用户发送的表单域中,例如PHP可以使用$_SERVER['HTTP_REFERER']判断post的来源,如果用户是通过本地硬盘的网页,则来源为False。例如编写: $auf=$_SERVER['HTTP_REFERER']; 或者从$auf的值中提取出某些字符串,使其符合一定的条件,再判断用户留言是否写入数据库。为保险起见,也可以再使用一个隐含的表单域<input>,使其为隐含的“验证码”。双重保险,这样可以减少spam。 2009年02月15日 11:26 在我已经知道的范围内,我编写的程序是希望用更简单的方法去实现。虽然已经是比较简便的方法,运行不会出错,在我贴出程序之后,得到了几位朋友的指正,他们的方法更加简便和高效,感谢朋友们的指正!在此做2点更正: PHP的数字在千分位、百万位等增加逗号只要一句程序:number_format($number); 1000以内,不会产生逗号。 PHP的strpos()函数很重要,可以用来实现搜索功能,或者判别一个关键词在某段数据中是否存在等等。如果用strpos()函数来实现此判别的功能,正确的用法应该是使用“全等于”号===,或“不全等于”号!==来判别True或False,例如: if (strpos($ga, $gb)!==false){} 2009年02月12日 22:04 英文网页的字体较常用到em单位,可使字体随IE浏览器的字体设置而变化。原先定义的px和pt单位,可以使用我制作的一个工具直接转化为相对应的em单位,http://www.auiou.com/relevant/00000430.jsp。 如果一个区域的字体以em为单位,被重复定义了2次或2次以上,字体大小会出现混乱,可以嵌入一个表格<table>,将这个区域的字体放在表格中,即可避免字体被重复定义。如果<td>元素在CSS表头中已经定义字体,可以再对这个区域的<td>进行定义,会替换表头的定义,而浏览器不认为这是重复定义。 重复定义的情况如: <span style="font-size:0.75em"> <li>元素中的字体被重复定义2次,被定义为0.75em×0.9=0.675em。 这样即可避免被重复定义: <span style="font-size:0.75em"> 或者先将<span>元素使用</span>闭合。 2009年02月11日 09:35 我用过的文本工具主要是EmEditor、EditPlus、UltraEdit这3款,最早不知道这些文本工具的时候我使用记事本,这3款文本工具的功能都比记事本强大、便捷许多。没有一款文本工具是完美的,总是各有各的优点和不足。 EmEditor: 我一直在推荐EmEditor,我也一直使用早期的3.28版本。我大概是从2002年开始使用EmEditor,至今,一直是我的系统必备软件。EmEditor的优点是查找功能十分好,在一个文件里,相同的关键词会用绿色高亮显示,这个功能对于编程来说是十分重要的。EditPlus和UltraEdit均没有相同的关键词高亮显示的功能,在程序里进行查找的时候,我总是需要用到EmEditor。EmEditor 3.28版本没有显示程序的行号,这对我来说并不重要,需要的时候我经常用Ctrl+G来查看行号,它会自动跳到那一行的程序,已经十分习惯了。EditPlus、UltraEdit都有行号显示的功能,我平时较少看左边的行号。每一个回行EmEditor均是用↓表示,在程序里看起来十分方便。 EmEditor和EditPlus的不足是,如果一个网页程序的文件里全部是半角的英文字符,例如英文网页,如果文件是UTF-8编码,去掉了Unicode签名(BOM),使用EmEditor或EditPlus打开,按Ctrl+S直接保存之后文件会变成ANSI编码。必须使用另存为的方式,再选择编码格式为UTF-8,每次都需要这样,很繁琐。EmEditor 3.28版本在另存为的时候,可以去掉Unicode签名,EditPlus 2.11版本不可以去掉Unicode签名。如果一个程序文件是UTF-8编码,当中含有全角字符的话,去掉了Unicode签名(BOM),使用EmEditor或EditPlus直接按Ctrl+S保存,文件格式都是UTF-8编码,都没有问题,同时Unicode签名(BOM)的有无状态也不会改变。因此,不妨尝试将一些完全没有全角字符的英文网页或者include文件文件编码使用ANSI格式,这样不会产生Unicode签名,有全角字符的文件则使用UTF-8编码,并去掉Unicode签名,meta的语言声明仍是UTF-8,不妨一试,很可能不会产生问题。但我还是喜欢meta和文件编码均使用UTF-8,以后不会遇到意外的乱码的问题。 EditPlus: 2003年的时候,剪子兄推荐EditPlus给我。当时我已经很习惯EmEditor,并且EmEditor的功能已经很完美,所以我这几年几乎没有用过EditPlus。EmEditor和EditPlus的共同点是,体积都很小,安装目录只有1兆多,启动很快,一瞬间就可以启动了。 UltraEdit: UltraEdit文本工具的功能很多,安装目录有24兆。制作英文网站,并且是PHP程序的时候,必须用到UltraEdit。因为UltraEdit在保存文件的时候,可以直接保存为没有Unicode签名的UTF-8编码格式。EmEditor每次保存的时候,需要另存为才可以保存为没有BOM的UTF-8编码格式,否则EmEditor直接按Ctrl+S,会保存为ANSI格式。因为当UTF-8文件没有BOM的时候,EmEditor或EditPlus会认为是ANSI格式,以ANSI格式打开文件(当文件中有全角字符,EmEditor或EditPlus均没有这个问题)。UltraEdit比较遗憾的是,不能像EmEditor一样打开多个独立的窗口。 这3款软件里,感觉EmEditor已经很顺手了,使用了约7年的时间。制作英文网页的时候,我使用UltraEdit+EmEditor。使用UltraEdit来编辑,使用EmEditor来查找关键词。 2009年02月09日 14:25 我很喜欢把输出的HTML代码或者文字部分,以直接输出的方式,而不是作为一个字符串使用echo输出。因为当有大片区域的HTML代码的时候,echo的程序写起来比较繁琐,可以简化为<?if (){?>HTML代码<?}?>的形式,这种形式有很大的灵活性,因为在这当中大片区域的HTML代码当中,还可以再包含PHP程序、Javascript等任何代码。例如: <?if ($aa=="2") 可以简化为: <?if ($aa=="2") 如果大片区域的HTML代码较多,PHP可以使用include()函数的方法来节省服务器资源。ASP中也可以用到这种方法来避免大片区域的Response.Write,方法是<%if aa="50" then%>HTML代码<%end if%>,例如: <%if aa="50" then 循环语句也是类似的方法,如<?for (){?>HTML代码或PHP程序<?}?>和<%for i=1 to ac%>HTML代码或ASP程序<%next%>。 2009年02月09日 10:09 我们将会推出一个论坛,成员加入需要审核,每个论坛设置5~10名版主,设置5~10名贵宾,自愿申请,版主和贵宾谦卑和友好地为大家服务。版主和贵宾的管理权限是一样的,可以审核成员的加入,可以解除成员,可以删除违规帖。参与的用户,楼主可以删除回复中的违规帖。 民主。只有这样,才能减少社区里更多的纠纷,让每个人都有管理和维护自己权利的权限,调节论坛的良好气氛。只有这样,不友好的帖子,会慢慢减少。 只有谦卑和友好,才会有更多的人气。 2009年02月08日 11:41 UltraEdit是一款功能强大的文本工具,可以用于编程。安装UltraEdit之后,默认的设置没有自动换行。设置的方法是,点击菜单栏的“高级→配置”,找到“编辑器→自动换行/制表符设置”,如下图的左边。然后,把“默认为每个文件启用自动换行”,如下图的画红圈部分,设置完成。 如果按Ctrl+W,只能临时切换,下次再启动UltraEdit,就需要再切换,幸好有“配置”这里能够做设置。另外,UltraEdit最大的优点是打开没有Unicode签名(BOM)的UTF-8格式半角英文文件,仍以UTF-8方式打开,也就是不需要BOM,UltraEdit也能够辨别文件编码。 2009年02月08日 08:35 一点拙见,如有不正确,欢迎指正,谢谢。中文网站使用ANSI(GB2312)编码,是最理想的编码。因为ANSI编码,半角字符占用一个字节,全角字符占用2个字节。Unicode则是无论半角,还是全角,都占用2个字节。UTF-8编码,半角字符占用1个字节,全角字符占用3个字节,如这里做的对比:http://www.auiou.com/relevant/00001188.jsp。 20楼和21楼的朋友说得很好。ANSI编码不支持韩国语字符,在ANSI编码下韩国语字符会转化成한국어的形式(한국어),一个韩国语字符在ANSI编码中需要占用8个字节,而一个韩国语字符在Unicode编码中占用2个字节,在UTF-8编码中占用3个字节。但愿如20楼朋友所说,希望UTF-16能够解决这一问题。 因此,如果是英文网站,因为都是半角字符,所以网页文件使用ANSI编码,或者UTF-8编码,所占用的服务器资源是一样的。然而中文网站使用ANSI(GB2312)编码,显然会比UTF-8节省10%~30%的硬盘和CPU资源,如上述文章的对比,因为有半角和全角混合,所以会产生10%~30%不等的百分比。好比是ANSI编码的汉字文件占用10兆的空间,UTF-8编码的汉字文件则占用15兆的空间,Unicode编码的汉字文件与ANSI编码同样占用10兆的空间。如果字符均是半角的英文,假如UTF-8格式的文本数据库文件总共是10兆,ANSI编码同样是10兆,Unicode编码则是20兆。所以西方人在开发网页的时候,不使用Unicode编码。 中文网站,无论数据库是使用ANSI编码,或者UTF-8编码,或者Unicode编码,当被用户端页面提取的时候,GB2312语言总是会比UTF-8语言更节省资源,从而提高速度。 2009年02月06日 13:36 如果你的网站有一个独立IP(假设是123.23.55.10),服务器无需任何设置,只要在域名管理和网站程序做一下设置。例如要给webshu.com做泛域名解析,方法是,1、在域名管理面板的A记录增加一个*(也就是*.webshu.com),我试了一下,即时生效。如果A记录不能增加*的子域名,则在别名(CNAME)处增加。2、网站程序里,ASP用Request.ServerVariables("server_name")获得地址栏的域名,PHP用$_SERVER['SERVER_NAME']获得地址栏的域名,然后ASP通过replace()或者mid()和Left()函数,PHP通过str_replace()或者substr()或者explode()来获得二级域名第一个“点”前面的值(假设是hhh)。例如访问http://namsa.webshu.com时,hhh的值是namsa。 需要注意的是,因为别名(CNAME)不能直接指向IP地址,可以用任何已经有的域名如wang.auiou.com来解析这个IP地址123.23.55.10,然后添加的别名*对应的地址是wang.auiou.com。 虽然都是解析到同一个服务器,但是因为二级域名不同,二级域名相当于网站的get查询参数的值,也就是前面提到的hhh。这个值相当重要,假设这个值是auiou,我可以在123.23.55.10的服务器上建立或者让程序自动建立一个目录ck/auiou,在每个网页的include文件建立一个变量,让它的值是ck/auiou(ASP程序如"ck/"&hhh,PHP程序如"ck/".$hhh),使ck/auiou这个目录变成当前泛域名的根目录,每个泛域名的根目录相对路径都用这种方法。访问http://namsa.webshu.com就可以直接访问namsa帐号的首页,访问http://auiou.webshu.com就可以直接访问auiou帐号的首页,等等,无任何跳转定向。至此,轻松地实现了完美的泛域名解析,网站服务器无需任何设置和配置。 在本地测试的时候,可以先把wang.auiou.com解析到127.0.0.1的本地IP地址。 用同样的方法,网站可以绑定无数个顶级域名或者子域名,这不是跳转或者框架嵌入,而是真正地“绑定”,只要网站有独立IP。同样,网站服务器无需任何设置和配置。 2009年02月06日 08:29 Foxmail因为运行速度快,操作简便,强大的邮件模板功能,比Outlook更加好用,我已经使用了7年多。为了防止一些垃圾邮件里含有的网页木马的自动运行,盗取你的各种密码,可以关闭HTML功能,在Foxmail的“系统设置”里没有这个选项。 打开/关闭邮件的HTML显示功能的方法是,如下图的画红圈部分,在红圈部分点击鼠标右键,把“以HTML方式显示邮件”前面的勾去掉即可。 这个设置不是对单独一封邮件的设置,而是对你的整个邮件帐号进行的设置。当需要HTML功能时,可以把“以HTML方式显示邮件”打上勾,但是别忘记读完邮件后,再把勾去掉,以防止木马,盗取你的各种密码。 2009年02月03日 16:38 在IE6.0字体设定为中的时候,如果字体未做任何CSS设定或者<font size>元素的设定,默认的字体是12pt,或者16px,或者1em,或者font size=3。em、px、pt的换算关系如下: 1em=16px 1px=1/16 em=0.0625em 1pt=1/12 em≈0.0833em em、px、pt的转换工具如下,结果如无法除尽,小数点后面四舍五入到4位,我用“约等于”表示;如果可以除尽,我用“等于”表示: 常用转换: 英文网页的字体较常用到em单位,em是相对长度单位,可使字体随IE浏览器的调整而变化。请注意,请避免在样式表中某区域对字体定义2次em,就可以方便地使用em单位。如实在无法避免,假如??em是这个区域的字体大小,请用1÷??em,假设结果为n1。然后直接使用上述的1或3相应的转换工具,假设查询的转换结果为n2,再用n2乘以n1,使其还原。也就是:1÷??em×n2。 2009年02月01日 21:02 在注册程序,或者留言程序中,判别用户发送的数据中是否有非法的关键词,可以用strpos()函数。用法是strpos("abc", "b"),运行的结果是1。如果是strpos("abc", "a"),运行的结果是0;如果是strpos("abc", "d"),运行的结果是空。如下程序: if (strpos($ga, $gb)!=0) {} 或者省略为 大括号里,是根据数据中是否有关键词,来决定是否要执行的程序。我做了一下测试,这里的strpos($ga, $gb),$gb是用户发送的数据,$ga是我们设定的关键词。当如strpos("abc", "a")运行结果为0的时候,与strpos("abc", "d")运行结果为空的时候,上述的if判断都列为同一种情况,导致这个判断会产生失误,使大括号的程序不能正常运行。 解决的办法是,让strpos("abc", "a")运行结果为0的时候,使其变为1,方法是strpos("a".$ga, $gb),也就是在变量$ga前面加任意一个字符,if (strpos("a".$ga, $gb)!=0) {} 或者省略为 if (strpos("a".$ga, $gb)) {}。这样一来,当运行结果为空的时候,结果仍然是空。不再是被判为同一种情况,问题解决。 2009年02月01日 01:34 编了6年多的程序。过年的这几天开始正式学习PHP,经过这一个星期的练习,已经初步入门了,比想象中顺利很多,已经可以用PHP编写论坛、博客、网站程序,输出的HTML代码完全保持不变。学习一门新语言最好的方法,就是把以前写过的程序,翻译成这门新语言,绝大多数都有相对应的函数,在Google搜索“PHP 旧语言的函数”,或者搜索“PHP 要实现的功能或遇到的问题”,就可以找到相应的PHP函数。 这几天成功地把我以前写的一些程序,都翻译成了PHP,还用PHP写了一些新的程序。虽然PHP存在着很多的问题,比如substr()和array()等函数不能直接处理中文,不能直接调用中文的文件名,UTF-8编码的网页不能打开Unicode或者ANSI文本数据库,BOM经常会造成报错,等等。但是PHP的函数和数组果然很强大,也容易理解,调用起来也很方便,报错相对较少。如果PHP仅仅用来做英文网页,就不会出现那么多的问题。 因为PHP这几年在国内很流行,建网站还是有很多的便利之处。
if ($pa) $pa=1;
$w3=10;
$w4=$auf/$w3;
$w5=floor($w4);
$p=$w5+1;
if ($w5==$w4) $p=$w5;
if (!$p) $p=1;
$w1=($pa-1)*$w3+1;
$w2=$w3+$w1-1;
if ($w2>$auf) $w2=$auf;?>



固定链接 | 发表评论(13) | Trackback(0)
英文网页不用GB2312语言的原因是,有一些国外用户的浏览器可能需要安装语言包。
如之前的讨论,http://www.auiou.com/relevant/00000433.jsp,如果中文网页使用UTF-8语言,会多占用一些服务器的CPU、内存、硬盘资源,速度会稍稍慢一点。如果网站的访问量很大,需要考虑一下这方面的因素,中文网页使用GB2312语言大约能提升10%~30%的性能,访问速度也会更快一些。
if ($auf){
// 用户留言写入数据库
}
感谢Saturn朋友指出更简便的方法。
例如:
$auf=35080;
$pep=number_format($auf);
$pep的值是35,080。
感谢剪子兄和他的同事,以及一楼的stefyang朋友的指正。
if (strpos($ga, $gb)===false){}
if (strpos($ga, $gb)===True){}
<div>
<ul>
<li style="font-size:0.9em">段落文字
</ul>
</div>
</span>
<div>
<ul>
<li>
<table cellspacing="0" cellpadding="0"><tr><td style="font-size:0.875em">段落文字</tr></td></table>
</ul>
</div>
</span>
{echo "abcd……(大片区域的HTML代码)".$tg;
$iou=20;}
else
{echo "1234567890……(大片区域的HTML代码)".$tg;
$iou=25;}?>
{?>abcd……(大片区域的HTML代码)<?=$tg?>
<?$iou=20;}
else{?>1234567890……(大片区域的HTML代码)<?=$tg?><?$iou=25?><?}?>
iou=20%>大片区域的HTML代码<%=tg%><%end if%>

固定链接 | 发表评论(13) | Trackback(0)
1em=12pt
1px=3/4 pt=0.75pt
1pt=4/3 px≈1.3333px
9pt=12px
9pt=0.75em
10pt=0.833em
14px=0.875em
if (strpos($ga, $gb)) {}
最新的评论 Comments:
» 近期的论坛开发日记
» QQ群需要黑名单功能
» 有可能是这样
» 严肃地了解2012
» 祝大家五一快乐
» QQ2010的年龄资料
» ANSI和UTF-8文
» 日记:2010-01-
近期的主题:
有可能是这样
QQ2010的年龄资料很不方便
QQ群需要黑名单功能
祝大家五一快乐
严肃地了解2012
日记:2010-01-17
祈祷website存活
获知真相
日记:2010-01-04
制作了新的博客风格
感受30岁的第1天
日记:2009-12-30
“蛇娃”的病是有希望治愈的
悲剧的原因
为他们的贝岸工作说句公道话
年底的感言
金山词霸与美式英语
有关斜视治疗的研究讨论
感动,回味中……
2个网站挂了
恭喜新博客开通!
快完成了
显卡与显示器“不兼容”偏色解决一例
寻1987年出生,我的被拐走的弟弟王志生(左手通观手,即断掌)
最近
网页中的路径/
循环程序的写法与速度对比
博客防spam/陌生人恶意留言另一方案
二级域名的博客在本地建立虚拟主机
重新编写了Trackback程序
Apache实现多域名解析同一空间简法
Apache在本地建立泛域名虚拟主机简法
使用Apache作为本地虚拟主机预览博客
ixwebhosting更换了服务器
博客+论坛的方式
如何关闭ixwebhosting的访问日志
一张原理图的绘制过程
祝我29周岁生日快乐
Photoshop,CorelDRAW,Word的选用
|