php中ob(Output Buffer 输出缓冲)函数简介
2006-06-02
来自:http://bbs.phome.net/ShowThread/?threadid=9247&forumid=2
在PHP编程中,  我们经常会遇到一些直接产生输出的函数,  如passthru(),readfile(),  var_dump()  等.  但有时我们想把这些函数的输出导入到文件中,或者先经过处理再输出,  或者把这些函数的输出作为字符串来处理.  
这时我们就要用到  Output  Buffer(输出缓冲)  函数了.  

处理输出缓冲的函数主要有这么几个:  
ob_start()  开始输出缓冲,  这时PHP停止输出,  在这以后的输出都被转到一个内部的缓冲里.  

ob_get_contents()  这个函数返回内部缓冲的内容.  这就等于把这些输出都变成了字符串.  

ob_get_  length()  返回内部缓冲的长度.  

ob_end_flush()  结束输出缓冲,  并输出缓冲里的内容.  在这以后的输出都是正常输出.  

ob_end_clean()  结束输出缓冲,  并扔掉缓冲里的内容.  

举个例子,  var_dump()函数输出一个变量的结构和内容,  这在调试的时候很有用.  
但如果变量的内容里有  <  ,  >  等HTML的特殊字符,  输出到网页里就看不见了.  怎么办呢?  
用输出缓冲函数能很容易的解决这个问题.  

ob_start();  
var_dump($var);  
$out  =  ob_get_contents();  
ob_end_clean();  


这时var_dump()的输出已经存在  $out  里了.  你可以现在就输出:  

echo  '<pre>'  .  htmlspecialchars($out)  .  '</pre>'  ;  

或者等到将来,  再或者把这个字符串送到模板(Template)里再输出.  

完。

阅读:3566 评论: 0 💬
发布O-blog风格--LongbillBlue
2006-06-01
更新:超强的O-Blog风格 LongbillBlue [AJAX技术,防垃圾评论,防垃圾留言]

LongbillBlue 风格
适用程序: O-blog ( www.phpblog.cn )
作    者: Longbill ( www.longbill.cn )
邮    箱: Longbill.cn@gmail.com
下载地址: http://www.longbill.cn/down/blog/longbillblue.zip
说明:
    这个风格是在oblog原有风格blueclassic的基础上改进而来的。
修改的地方有:
1.修改了风格的主色调。由原来的黄色为主(我真不知道一个黄色的风格为什么叫blueclassic),改为了现在的淡蓝色为主。
2.改进了由显示日志的阅读次数而带来的拖速度的现象。使用了ajax技术!
3.增加了表单的前端检查。

完。

阅读:3495 评论: 5 💬
可以实现元素圆角的函数~
2006-06-01
上次在blueidea上看到一个元素圆角的实现方法,但是那个太复杂了。于是就自己写了一个函数,可以将元素自动圆角。
演示地址:http://longbill.cn/down/sample/roundcorner.htm
不要用在有 padding 值得元素上,最好是在外面套一层。详情见演示地址。
代码:
function RoundCorner(obj,style)
{
/********
网页元素圆角函数!!
作者: Longbill
主页: www.longbill.cn
********/
var r = [];
var styles = [
{top:["0 5px","0 3px","0 2px","0 1px","0 1px"],bottom:["0 1px","0 1px","0 2px","0 3px","0 5px"]},
{top:["0 5px","0 3px","0 2px","0 1px","0 1px"],bottom:["0px","0px","0px","0px","0px"] },
{top:["0 0 0 5px","0 0 0 3px","0 0 0 2px","0 0 0 1px","0 0 0 1px"],bottom:["0 1 0 0px","0 1 0 0px","0 2 0 0px","0 3 0 0px","0 5 0 0px"]},
{top:["0 5 0 0px","0 3 0 0px","0 2 0 0px","0 1 0 0px","0 1 0 0px"],bottom:["0 0 0 1px","0 0 0 1px","0 0 0 2px","0 0 0 3px","0 0 0 5px"]}
]; //author: longbill.cn
if (!style || style>styles.length) style = 1;
style--;
var btop = styles[style].top,bbottom = styles[style].bottom;
obj = document.getElementById(obj);
if (!obj) return;
var HTML = obj.innerHTML;
obj.innerHTML = "";
for(var istop=1;istop>=0;istop--)
{
var topborder = document.createElement("b");
topborder.style.display = "block";
topborder.style.height = "2px";
topborder.style.backgroundColor = (obj.parentNode.style.backgroundColor)?obj.parentNode.style.backgroundColor:"#FFFFFF";
for(var i=0;i<btop.length;i++)
{
var b = document.createElement("b");
if (obj.style.backgroundColor)
b.style.backgroundColor = obj.style.backgroundColor;
else if (obj.className)
b.className = obj.className;
b.style.display = "block";
b.style.margin = (istop)?btop[i]:bbottom[i];
b.style.height = "1px";
b.style.overflow = "hidden";
b.style.width = "auto";
topborder.appendChild(b);
}
obj.appendChild(topborder);
if (istop) obj.innerHTML+=HTML;
}
}

完。

阅读:3316 评论: 4 💬
.tk免费顶级域名设置子域名的方法!!
2006-05-27
tk顶级域名虽然不提供解析功能,但是有一点是十分好的,就是如果你申请了一个域名(比如 longbill.tk),那么任何一个属于longbill.tk的url都会跳转到指定的页面上。比如 
wwwwwwww.longbill.tk  
www.qq.com.longbill.tk 
www.longbill.tk/lontbill/  
www.qq.com@longbill.tk
等等,都会跳转到指定的网页(longbill.tk指定的是 http://www.longbill.tk/blog/tk.php)。
    这样我们就可以通过写一个小程序,得到域名,然后跳转到对应的域名就可以实现子域名功能了!!
    将下面的代码保存为 htm 文件,然后把你的 tk 域名指定跳转到那个文件上。就可以了。

<script language=javascript>
var hideurl = 0; //是否应藏真实url
var to = "www.longbill.cn"; //找不到对应地址时跳转到的地址
var jump = [];
//域名信息
jump["www.longbill.tk"] = "www.longbill.cn";
jump["whois.longbill.tk"] = "www.longbill.cn/whois";

//可以按照上面的格式添加多个域名

var url=document.referrer;

if (!url) url = top.location;
var from;
for(from in jump)
{
if (url.indexOf(from)!=-1)
{
to = jump[from];
break;
}
}

if (hideurl)
{
top.location = "http://"+to;
}
else
{
window.location = "http://"+to;
}

</script>

完。

阅读:5657 评论: 11 💬
.tk域名去除广告的方法!!
2006-05-24
上篇日志介绍了申请.tk免费顶级域名的方法,今天接着说怎样将默认的广告去掉!
1.首先进入 http://www.dot.tk,点击右上角的 login my Dot tk 链接,接着用申请时的邮箱和密码登陆。
2.然后你会看到如图所示的导航条
http://www.longbill.cn/blog//uploadfiles/tkkk.jpg

点击上图中红色的连接
3.然后选择你的域名,点击 continue按钮
4.在下一个页面中选择  NO THANKS, i don't want to have any advertisements on my webpage 选项,点击 continue
5.当你看到 绿色的提示  Dot TK Linker Promo is disabled. 的时候,广告已经没有了~~~~

我还有设置二级域名的方法,请关注近期的日志~~~~
比如 http://blog.longbill.tk  http://whois.longbill.tk

另外说一下tk域名的限制:
1.一个账号最多只能申请3个免费的域名
2.如果90天之内你的域名访问量不到25个,域名就会过期。

完。

阅读:4019 评论: 2 💬
.tk免费顶级域名又可以使用了!!
2006-05-23
几年前的免费顶级域名.tk(www.dot.tk)曾在中国风行一时,但后来不知什么原因在中国不能使用了
最近又看到一些网友在用.tk的域名,心想可能是又开通了,于是就去试了一下。还真是,网站改版了,免费域名在中国也能正常使用了,而且速度还挺快的。
我注册的域名 :  http://www.longbill.tk
下面给大家讲讲怎样注册:
1.首先打开  http://www.dot.tk会看到:
http://www.longbill.cn/blog//uploadfiles/tk01.jpg
2.填上你想要得域名,点击 next>>,如果域名没有被注册,会显示:
http://www.longbill.cn/blog//uploadfiles/tk02.jpg

3.选择Free domain然后点击next,于是:
http://www.longbill.cn/blog//uploadfiles/tk03.jpg

4.第一个空填写你想要你的域名转到的网址(比如你的blog地址)
  第二个是你的email地址(验证时要用)
  最后是验证码,注意如果出现0,请填写大写英文字母O,不要以为它是数字0
   点击next>>
5.接着你要创建一个dot.tk 的账户,
http://www.longbill.cn/blog//uploadfiles/tk04.jpg

这个不用说了吧~~ 然后就注册成功了~~
http://www.longbill.cn/blog//uploadfiles/tk05.jpg

6.最后到你的邮箱检查一下邮件(gmail一般1分钟左右就会收到邮件),复制confirmation code后面的字符串(验证码)点击下面的地址,然后把验证码粘进去。一切都搞定啦~~

说明:
1.由于新的域名需要更新dns服务器,所以不要急着访问你的域名,至少要等10分钟后才能访问。
2.新注册的域名一般有广告,我有去掉广告的方法。请关注最近的日志~~~

完。

阅读:5180 评论: 23 💬
今天无意在google上搜索“谷歌”~~
2006-05-21
今天无意在google上搜索“谷歌”,点击了“手气不错”按钮,以为结果肯定是google的首页,但出乎我的意料之外~~我看到了:
http://www.longbill.cn/blog//uploadfiles/noguge.jpg

logo下面还有文字:
NoGuge.com 反对“谷歌”“Google,我们你,我们不爱谷歌’”……“‘谷歌’这个名字,让我们不爽!更让我们失望!”Google, 您听见了吗?

下方还有一些有关google中文名的投票,反对google使用“谷歌”作为中文名的人居然有1万多~而支持的仅仅只有6百多
    原来google刚出中文名的时候我就听着“谷歌”这个名字有点不爽,虽然说不出理由。今天终于发现有那么多的网友与我有同感
    
    不信你可以亲自去 google 搜索一下~~

完。

阅读:3299 评论: 2 💬
发mp3,mp4邀请,要的留下邮箱
2006-05-20
官方说邀请30个人就可以得MP3,邀请60人就可以得MP4~~
但需要是荣誉会员才可以邀请.
我邀请的朋友可以直接成为荣誉会员~
有需要的朋友留下EMAIL我发邀请给你.
官方地址:https://www.wealink.com/ 



后面的朋友不要发了,已经过了6月30号了,不送东西了。唉,我已经邀请到26个了,但没有注意时间,过了30号啦~~郁闷啊。
不过wealink.com提供的服务到不错。 

完。

阅读:3811 评论: 31 💬
PHPCMS文件管理器V4.01正式版发布~~
2006-05-19
4.03版请点击这里 http://www.longbill.cn/blog/index.php?id=75


经过这么久的努力,PHPCMS文件管理器V4.01终于发布了!!
下载地址:
http://longbill.cn/down/longbill401.zip
http://cn5.cn/longbill401.zip

func.php的源代码在这里


PHPCMS 文件管理器 v4.01 
Copyright (c) 2004-2006 phpcms.cn

作者: Longbill
地址: http://www.longbill.cn
Mail: longbill.cn@gmail.com
Q  Q: 5939793

默认管理员:admin   密码:admin 

安装方法:  无需安装,上传后直接使用。

功能特点:

1.采用 PHP + AJAX 的方式构建。客户端采用缓存技术,减轻服务器的负担。
2.可以远程管理服务器上的文件,包括上传,下载,新建,编辑,复制,粘贴,删除,远程下载等文件操作。
3.实现了远程 ZIP文件打包/解压。
4.多用户,权限管理,可以分配用户各自的操作目录和可操作的文件类型。
5.两种浏览方式:列表模式和图标模式。
6.在图标模式下可以预览图片文件的缩略图。
7.编辑器可以显示行号,字符替换等功能。
8.自定义风格模板。

注意事项:

1.本程序所有数据采用文本文件保存,如果程序所在的目录没有写的权限,本程序无法正常使用。
2.程序默认的管理员根目录为../即程序index.php文件夹所在目录的上级目录。
  如果配置其他用户的根目录请注意带上../
3.如果发现程序由Bug,或者有疑问,建议或意见,请登陆 http://www.longbill.cn 给我留言,我会尽快解决。

完。

阅读:11007 评论: 97 💬
为JS写了一个include函数
2006-05-17
很多语言都有类似php中的include和require功能的函数,而唯独javascript没有。
很早就想在js中实现类似的功能,尝试了很多次都没有成功,那天在google上搜索一些关于动态加载css文件的关键词时,发现一个blog(地址找不到了)上的一个为网页的head标签增加link元素的函数,于是就改了一下,写了这个函数。

用法:
include_js(src,[reload]);
src: js文件的路径名
reload:可选参数,0或1,表示是否重复加载同一个url的js文件。

说明:
当包含的js文件中有document.write方法时,在IE下没有反应,但在Mozilla Firefox 下就会让你原来的网页消失,只显示document.write出来的内容:mad: 
嘿嘿,对于这个问题,我自然有妙招:
就是重定义 document.write方法,让他不显示任何东西。具体做法:
在 include_js 之前加上这句
document.write = function () { return false;}

这样,就算include过来的js文件含有document.write方法我们也不怕它破坏网页了!:lol::lol:

用途:
本函数可以用于一些广告和统计的js文件异步加载,避免了因加载js文件而造成的网页显示速度慢的问题。

将此函数修改一下便可以动态加载css文件,不过用处就没有加载js文件的大。

function include_js(path,reload)
{
var scripts = document.getElementsByTagName("script");
if (!reload)
for (var i=0;i<scripts.length;i++)
if (scripts[i].src && scripts[i].src.toLowerCase() == path.toLowerCase() ) return;
var sobj = document.createElement('script');
sobj.type = "text/javascript";
sobj.src = path;
var headobj = document.getElementsByTagName('head')[0];
headobj.appendChild(sobj);
}

完。

阅读:3882 评论: 3 💬
Copyright © Longbill 2008-2026