欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

菜鸟的PHP笔记3

程序员文章站 2022-04-20 18:05:07
...
今天白天再次被霸占,晚上整理了一下最近的日程,再次蹋上了我的菜鸟PHP学习之旅。今天下载了一个“创佳PHPTXT留言本 1.0版”,开始看源代码咯。现在已经11点28了~。

  首先从index.php下手:require("config.php"); include("function.php");require和include的区别还是比较重要的。手册:http://cn2.php.net/manual/zh/function.require.php。

  现在看看config.php和function.php里面都有什么东西吧。

  config.php定义了一些整个网站都要用到的变量:比如管理员帐号、密码、存放留言路径及文件名以及每页显示的留言条数。记得Discuz里也有这么一个东西,可能这是所有PHP站点的不成文规定?

  function.php定义了一系列的函数,比如检查用户名、密码,转换UBB代码之类的,不过偶不知道UBB代码是什么东西~。暂时不管了。

  回到index.php。后面定义了几个暂时不知道有什么用的变量,暂时越过去吧,郁闷。紧接着是一个header函数http://cn2.php.net/manual/zh/function.header.php。包含一个叫head.php的文件,用file()将保存留言的文件读到一个叫msgd的数组中。http://cn2.php.net/manual/zh/function.file.php

  今天大概把源代码看懂了,不过实在太晚了,就暂时不写了,以后再说吧。应该安个Word然后直接复制过来(我也不知道为什么我机器上没有Word~~)。总之今天休息了,明天白天又没有时间,晚上不回家住,后天先送人去火车站,然后就回学校了。真不知道什么时候能有时间继续我的PHP。

  require("head.php"); 包含一个文件,不过head似乎只被index.php包含了,不知道为什么不直接写进去。head部分的代码主要是提供搜索留言的表单。

  $msgd=file($dbtable); 其中$dbtable在config中已经定义了,$dbtable="data/data.dat"; 该文件用于保存留言。这里用了file函数将这个文件保存在$msgd数组中。文件的每一行是一个数组元素。

  $rows=count($msgd);这里将用count函数将$msgd的元素数(留言数)存在$rows中。
if($kw)//关键词,判断是不是搜索

{

 for ($i=0;$i<=$rows;$i++)//遍历
 {
  $tmp2=explode("|分割符|",$msgd[$i]);//没一条留言存在tmp2这个数组中。
  if($type=="name")//如果是按姓名搜索

  {

   $msgn[$i]=$tmp2[1];//将名字村在$msgn[$i]中

  }else//不是按名字搜索的话
 

  {

    $msgn[$i]=$tmp2[10];//将留言数组的第10个元素存在msgn[$i]中

  }

  if(eregi($kw,$msgn[$i]))
  {
    $chj_nr[]=$msgd[$i];//使用数组$chj_nr[]存放一条完整的留言
    $chj_numib++;//符合要求的留言数量
  }
 }
  if($chj_numib<1) {echo "没有相关 $kw 的匹配结果!!";exit;}
  $msg=array_reverse($chj_nr);//将符合搜索结果的留言数组
  $total=ceil($chj_numib/$pagesize); //计算总页面数
}else//如果不是搜索
{

 $chj_numib=$rows;//所有留言
 $msg=array_reverse($msgd);
 $total=ceil($chj_numib/$pagesize);
}

//echo $total;
if($pagesize*$total<$chj_numib)

{
$total++;

}
$total2=$total-1;           //下面有用
$page2=$page+1; //同上
$pp=$page*$pagesize; //计算开始条数 //当前页的开始
$pp2=$pp+$pagesize; //计算结尾条数 //同上
$nextpage=$page+2; //下一个页面
$prevpage=$page; //上一个页面

for($i=$pp;$i<$pp2;$i++)//这个for循环用于输出符合要的所有留言(数组$msg)

{
 if($i<$chj_numib){ #####
 $tmp=explode("|chjia_com|",$msg[$i]);
 $tmp[10]=epost($tmp[10]);
?>

  后面就是输出一个留言了。到这里index.php就基本完事了。

以上就是菜鸟的PHP笔记3的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关标签: PHP笔记