当前位置:Linux教程 - Php - 用文本文件实现的动态实时发布新闻的程序

用文本文件实现的动态实时发布新闻的程序

用文本文件实现的动态实时发布新闻的程序

作者:-  时间:2004-06-26 2:51:10  来自:  责任编辑:clinch





动态实时发布新闻的程序,可以根据发布时间,自动地排列显示顺序。新闻文件为存储在指定目录的文本文件组成,当有新闻的时候,程序会自动地将其显示出来,并且排列在页面的最开始部分。
<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>