码迷,mamicode.com
首页 > Web开发 > 详细

PHP 简单留言板

时间:2016-08-23 17:06:28      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:留言板 flock fwrite fread fopen fclose

/*
 * 文件的锁定机制
 * flock()轻便的咨询文件锁定
 * LOCK_SH取得共享锁定(读取的程序)。 
 * LOCK_EX 取得独占锁定(写入的程序。 
 * LOCK_UN 释放锁定(无论共享或独占)。 
 * 如果不希望 flock() 在锁定时堵塞,则是 LOCK_NB(Windows 上还不支持)。 
 *  
 */
 /*
  * 留言板
  */
    $filename = "message.txt";
    if(isset($_POST[‘dosubmit‘])){
        //字段的分隔||  行的分隔[n]
        $mess = "{$_POST[‘username‘]}||".time()."||{$_POST[‘title‘]}||{$_POST[‘content‘]}[n]";
        writemessage($filename, $mess);
    }

    if(file_exists($filename)){
        readmessage($filename);
    }
    //读信息
    function readmessage($filename){
          //      $mess = file_get_contents($filename);
                $mess = "";
                $fp = fopen($filename, "r");
                flock($fp, LOCK_SH+LOCK_NB);//读锁定
                while(!feof($fp)){
                    $mess .=fread($fp, 1024);
                }
                flock($fp, LOCK_UN+LOCK_NB);//释放锁
                $mess = rtrim($mess,"[n]");
                $arrmess = explode("[n]", $mess);
                foreach($arrmess as $m){
                    list($username,$daytime,$title,$content) = explode("||", $m);
                    echo "<b>{$username}</b>,".date(‘Y-m-d H:i:s‘,$daytime).",<i>{$title}</i><br/><u>{$content}</u><br/><br/><br/>";
                }
                fclose($fp);
    }
    //写信息
    function writemessage($filename,$mess){
        $fp = fopen($filename, "a");
       //锁定文件
        if(flock($fp, LOCK_EX+LOCK_NB)){
            fwrite($fp, $mess);
            flock($fp,LOCK_UN+LOCK_NB);//释放文件
        }else{
            echo ‘写入锁定失败!‘;
        }
        fclose($fp);
    }
?>
<form action="index.php" method="post">
用户名:<input type="text" name="username" value=""/><br/>
标题:<input type="text" name="title" value=""/><br/>
内容:<textarea name="content" cols="40" rows="4"></textarea><br/>
<input type="submit" name="dosubmit" value="留言"/>
</form>


本文出自 “津沙港湾” 博客,请务必保留此出处http://11410485.blog.51cto.com/11400485/1841513

PHP 简单留言板

标签:留言板 flock fwrite fread fopen fclose

原文地址:http://11410485.blog.51cto.com/11400485/1841513

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!