新闻文件以文本文件.txt的格式存放在一个固定的目录下,新闻的发布可以自动完成。
该过程由两部分组成:
第一是新闻的显示,由shownews.php脚本实现,代码如下:
<table border="0" width="90%">
<?php
//在新闻文件中的第一行放新闻的标题
//新闻文件必须是文本文件(.txt)
$newspath = "./news/"; // 修改新闻文件存放的目录
$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)) {
print "<tr><td>n";
$fa = file($newspath.$key);
$s=trim($fa[0]);
$s=htmlspecialchars($s);
$lk=strlen($key);
$a=substr($key,0,$lk-4);
$s="<a href="./pubnews.php?id=".$a."" target=_blank>".$s."</a>";
print $s." n";
print "(".date("Y年m月d日 - H:i:s",$newsfile[$key]).")<br>n";
print "</td></tr>";
}
$hd->close();
?>
</table>
在显示新闻的地方放入代码:
<?php
require "./shownews.php";
?>
第二部分为新闻的发布,由pupnews.php脚本实现,代码如下:
<?php
if ($id=="")
{
Header("Location: ./shownews.php");
}
?>
<html>
<head>
<meta content="chenqiang" name=Author>
<?php
$filename="./news/".$id.".txt";
$fa=file($filename);
$n=count($fa);
$s=trim($fa[0]);
$s=htmlspecialchars($s);
$t=" - news by waterwall";
print "<title>".$s.$t."</title>n";
?>
</head>
<body>
<?php
//输出文本标题
print "<blockquote>n";
print "<b><center>".$s."n";
print "</center></b><br><p>n";
//输出文本正文
for ($i=1;$i<$n;$i+=1)
{
$s=chop($fa[$i]);
$s=htmlspecialchars($s);
$s=trim($s);
print "    ".$s."<br>n";
}
print "</p></blockquote>n";
?>
</body>
</html>
用数据库也可实现,这只是文件形式的实现方法。
|