当前位置: 首页 > 图文教程 > 网络编程 > PHP > 菜鸟的PHP笔记3

PHP
如何用PHP脚本和PEAR类创建ZIP档案文件
在线管理PHP网站文件
利用PHP代码实现网页自动判断转向
PHP程序中的特效应用 实用代码珍藏
如何使用PHP和PEAR进行不同时区的转换
如何用php生成WAP页面
php:树形结构的算法 4
php:树形结构的算法 3
php:树形结构的算法 2
php:树形结构的算法1
apache 环境下 php 的配置
php编写大型网站问题集
php中文乱码问题及解决方法
草根的进化 PHP语言发展简史
测试 Apache Web 和 PHP 应用程序服务器
用php实现简单的滑动菜单
php分页类
基于PHP和AJAX创建RSS聚合器
PHP下一代的五个framework介绍
搜索引擎技术核心揭密(PHP版)

菜鸟的PHP笔记3


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 23 ::
收藏到网摘: n/a

  今天白天再次被霸占,晚上整理了一下最近的日程,再次蹋上了我的菜鸟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