/**文件的锁定机制*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);}//读信息functionreadmessage($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($arrmessas$m){list($username,$daytime,$title,$content)=explode("||",$m);echo"<b>{$username}</b>,".date('Y-m-dH:i:s',$daytime).",<i>{$title}</i><br/><u>{$content}</u><br/><br/><br/>";}fclose($fp);}//写信息functionwritemessage($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);}?><formaction="index.php"method="post">用户名:<inputtype="text"name="username"value=""/><br/>标题:<inputtype="text"name="title"value=""/><br/>内容:<textareaname="content"cols="40"rows="4"></textarea><br/><inputtype="submit"name="dosubmit"value="留言"/></form>