www.gusucode.com > 超小TXT留言本 1.0源码程序 > juezhen.php

    <?php
class snlonGuestbook{
   var $messageDir = 'messages';
   var $dateFormat = 'Y-m-d g:i:s A';
   var $itemsPerPage = 5;
   var $messageList;
   
function processGuestbook(){
   if (isset($_POST['submit'])) {
      $this->insertMessage();
   }
   $page = isset($_GET['page']) ? $_GET['page'] : 1;
   
   $this->displayGuestbook($page);
}
   
function getMessageList(){
	
   $this->messageList = array();
   
	// Open the actual directory
	if ($handle = @opendir($this->messageDir)) {
		// Read all file from the actual directory
		while ($file = readdir($handle))  {
		    if (!is_dir($file)) {
		       $this->messageList[] = $file;
      	}
		}
	}	
	
	rsort($this->messageList);
	
	return $this->messageList;
}   

function displayGuestbook($page=1){
      $list = $this->getMessageList();
     
      //Get start point and end point
      $startItem = ($page-1)*$this->itemsPerPage;
      if (($startItem + $this->itemsPerPage) > sizeof($list)) $endItem = sizeof($list);
      else $endItem = $startItem + $this->itemsPerPage; 
      
      for ($i=$startItem;$i<$endItem;$i++){
         //foreach ($list as $value) {
         $value = $list[$i];
      	$data = file($this->messageDir.DIRECTORY_SEPARATOR.$value);
      	$name  = trim($data[0]);
      	$qq = trim($data[1]);
         $submitDate = trim($data[2]);	
         unset ($data['0']);
         unset ($data['1']);
         unset ($data['2']);
      	
         $content = "";
         foreach ($data as $value) {
    	       $content .= $value;
         }
      	
      	echo "发布人:$name QQ:$qq 发布时间:$submitDate";
      	echo "<br/><br/>".nl2br(htmlspecialchars($content))."<br/>";
      }
      if (sizeof($list) == 0){
         echo "暂时还没有留言!";
      }
      // Create pagination
      if (sizeof($list) > $this->itemsPerPage){
         if ($startItem == 0) {
            if ($endItem < sizeof($list)){
               echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\" >下一页 &raquo;</a>";
            } else {
               // Nothing to display
            }
         } else {
            if ($endItem < sizeof($list)){
               echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >&laquo; 前一页</a>";
               echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\" >下一页 &raquo;</a>";
            } else {
               echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\" >&laquo; 前一页</a>";
            }
         }
      }
      $this->displayAddForm();
}

function displayAddForm(){
?>  
  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    姓名:<input type="text" name="name" size="30"/>
    QQ:<input type="text" name="qq" size="30"/><br/><br/>
    您的留言:<br><textarea name="message" rows="7" cols="49"></textarea><br/>
    <input type="submit" name="submit" value="提交" />
  </form>
<?php   
}

function insertMessage(){
   $name   = isset($_POST['name']) ? $_POST['name'] : 'Anonymous';
   $qq  = isset($_POST['qq']) ? $_POST['qq'] : '';
   $submitDate  = date($this->dateFormat);
   $content = isset($_POST['message']) ? $_POST['message'] : '';
   
   if (trim($name) == '') $name = 'Anonymous';
   if (strlen($content)<5) {
      exit();
   }
   
   $filename = date('YmdHis');
   if (!file_exists($this->messageDir)){
      mkdir($this->messageDir);
   }
   $f = fopen($this->messageDir.DIRECTORY_SEPARATOR.$filename.".txt","w+");         
   fwrite($f,$name."\n");
   fwrite($f,$qq."\n");
   fwrite($f,$submitDate."\n");
   fwrite($f,$content."\n");
   fclose($f);
   
}
}
?>