今天不停的在发送传真,一次测试要发送十几页,于是跑到服务商看看,发现流量居然快超标了?!我一直觉得应该不会的啊,尤其最近用了一个可以统计流量的,发现每天也就十几M而已,就是有人下载,这点小文件也不会这么夸张吧。www.shengfang.org 然后又想来想去,好像我提交RSS到许多地方,不知道有多少人在访问,因此就加上一个RSS统计的。 首先找到几个PHP统计代码看看,发现有一个最简单的,就弄了过来: <?php $fp = fopen("rss.txt", "r"); //以读形式打开记录以往访问人数的文件 $str1 = fgets($fp,10); //从文件中读入9个字符,本计数器最大能记录的访问人数为999999999 $str1++; //计数器加入 fclose($fp); //关闭文件 $fp = fopen("rss", "w"); //一写的方式打开记录访问人数的文件 fputs($fp, $str1); //把最新的访问人数写入文件 fclose($fp); //关闭文件 ?> 新建了一个rss.txt,初始值弄大一些。 修改 RSS2.PHP和atomfeed.php,前面加上 require("rss.php"); 这样每次有人访问RSS/ATOM,就等于运行 RSS2和ATOMFEED,就自动从文件读取数值,再加一写回去。 不过每次直接访问TXT文件很麻烦,因此觉得应该整合到INDEX.HTM里面。又找了找资料。 引用 PHP模板即PHPlib的Template技术,是PHPLIB程序库中的一个主要模块之一,发展自Perl的Template。而PHPLIB则是在PHP上的一个扩展,提供了很多类库,能够方便地实现一些基本功能如用户认证,数据库封装等。我们可以在phplib.netuse.de上下载到其最新版本。要使用PHP模板,只需在PHPLIB的程序包中解开template.inc文件,并放到我们的PHP程序能够调用的目录里。剥开神秘的面纱,模板技术的核心概念简单得令人心跳:要将你的美工页面指定为模板文件,只需将页面中活动的内容如数据库输出,用户交互等部分定义成形式为{ variable }的变量放在模板文件中相应的位置,当用户浏览时,由PHP程序文件打开该模板文件,将模板文件中定义的变量进行替换,当然,替换成对应的数据库输出或者用户交互等动态生成内容,举例如下: 定义模板文件:Mytemplate.html Mytemplte.html的内容为: 今天是{ today } 我们可以看到,事实上模板文件就是一个普通的HTML文件,它包含了你所想要的版面、美工等要素,而内部的活动内容则以变量的形式存在,并等待被替换。显然,模板文件直接被浏览是毫无意义的,因为它不包含任何PHP程序,所有的内容都是“死”的,现在我们来看看,怎样来调用模板,让它“活动”起来。 假设我们在test.php文件中使用了上述模板,当用户浏览test.php文件时,test.php文件处理过程如下: test.php mydate=date("Y年m月d日");//处理好变量的值 include("template.inc");//调入将模板程序模块 mytemp=newTemplate("/你的模板文件所在目录/"); //创建一个模板实例mytemp,如果模板就在当前目录,那么使用"."就可以 mytemp->set_file("MyFileHandle","MyTemplate.html"); //设置MyFileHandle文件句柄指向我们所要调用的模板文件Mytemplate.html mytemp->set_var("today",mydate); //调用模板的set_var方法,设置模板中的变量today值为$mydate mytemp->parse("MyOutput","MyFileHandle"); //调用模板的parse方法,对MyFileHandle文件句柄所指向的模板文件进行分析,替换其中相应变量 //并把替换结果即完整的HTML文件内容保存在字串变量MyOutput中 mytemp->p("MyOutput"); //打印输出结果字串变量MyOutput的值 ?>
|
按图索骥,我比较土,是先搜索那个文件包含了那些变量,发现太多了,再搜索谁包含了INDEX.HTM,再上网搜索SET_FILE是干什么的~~www.shengfang.org 修改INDEX.HTM:加入 <br/>RssCount: { rss } 修改 INDEX.PHP:在www.shengfang.org $t->parse("output", "index"); $t->p("output");www.shengfang.org 加入 :[hide] $fp = fopen("rss.txt", "r"); $str1 = fgets($fp,10); fclose($fp);www.shengfang.org $t->set_var("rss",$str1);[/hide] 搞定~~~~~~~~~ 不知道有没有什么漏洞,不过我没有使用参数,应该无法注入吧。 字体:大 中 小 |