用文本文件实现的动态实时发布新闻的程序
发布时间:2006-10-14 2:44:10   收集提供:gaoqian
动态实时发布新闻的程序,可以根据发布时间,自动地排列显示顺序。新闻文件为存储在指定目录的文本文件组成,当有新闻的时候,程序会自动地将其显示出来,并且排列在页面的最开始部分。
<html>
<head>
<title>News</title>
</head>
<body bfcolor="#ffffff">
<h1>News</h1>
<div aligh="center">
<table border="0" cellspacing="5" cellpadding="10" width="90%" bgcolor="#e0e0e0">

<?php
    
  include('locationfilename.php');
    
  function createur1($text){
  //新闻的文本文件中这样插入你的链接
  //${http://mysite.ch}
  //或是${http://mysite.ch|My homepage in}
  //开始处理文本文件部分
    $s=$text;
    $a=strstr($s,'${');
    if ($a){
      $b=strstr($a,'}');
      if ($b){
        $la=strlen($a); $ls=strlen($s);
        $s=substr($s,0,$ls-$la);
        $a=substr($a,2);
        $lb=strlen($b); $la=strlen($a);
        $a=substr($a,0,$la-$lb); $b=substr($b,1);
        $ta=strstr($a,"|");
        if($ta){
          $la=strlen($a); $lt=strlen($ta);
          $linktext=substr($a,$la-$lt+1);
          $a=substr($a,0,$la-$lt);
        }
       else{
         $linktext=$a;
       }
      $s=$s."<a href="".$a."">".$linktext."</a>".$b;
      }
    }
   
  return($s);
  }

  //在这里修改你的新闻文件存放目录
  //切记,新闻文件必须是文本文件
  $newspath="/home/htdocs/test/new/";
   
  //设置数组
  $newsfile=array();
   
  //设置目录把柄
  $hd=dir($newspath);
   
  //获取全部文件,并将其存放在数组中
  while($filename=$hd->read() ){
    $s=strtolower($filename);
    if (strstr($s,".txt")){
      //检测最新修改日期
      $lastchanged=filemtime($newspath.$filename);
      $newsfile[$filename]=$lastchanged;
    }
  }

  //文件排序
  arsort($newsfile);
  //输出文件
  for(reset($newsfile);  $key=key($newsfile);  next($newsfile)){
    $fa=file($newspath.$key);
    $n=count($fa);
    print "<tr><td>n";
    print "<b>".date("d.m.Y - H:i:s",$newsfile[$key])."</b><br>n";
    for($i=0; $i<$n; $i=$i+1){
      $s=chop($fa[$i]);
      $s=htmlspecialchars($s);
      $s=createur1($s);
      print $s."<br>n";
    }
    print "</td></tr>";
  }
  $hd->close();
   
?>
</body>
</html> 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50