php實作文件留言本
我們講完了這麼多關於文件處理的系統,可是我們連一個最基本的小東西都寫不出來。
從這一節開始,大家會發現大家能夠寫越來越多的東西了。
接下來我們來看看示範效果:
在下面一個介面中寫入留言內容的表單介面:

存在留言後的展示介面:

#我們來看看檔案結構:
write.php ---向message.txt寫入資料
message.txt ---存入聊天內容index.php文件<?Php
//设置时区
date_default_timezone_set('PRC');
//读了内容
@$string = file_get_contents('message.txt');
//如果$string 不为空的时候执行,也就是message.txt中有留言数据
if (!empty($string)) {
//每一段留言有一个分格符,但是最后多出了一个&^。因此,我们要将&^删掉
$string = rtrim($string, '&^');
//以&^切成数组
$arr = explode('&^', $string);
//将留言内容读取
foreach ($arr as $value) {
//将用户名和内容分开
list($username, $content, $time) = explode('$#', $value);
echo '用户名为<font color="gree">' . $username . '</font>内容为<font color="red">' . $content . '</font>时间为' . date('Y-m-d H:i:s', $time);
echo '<hr />';
}
}
?>
<h1>基于文件的留言本演示</h1>
<form action="write.php" method="post">
用户名:<input type="text" name="username" /><br />
留言内容:<textarea name="content"></textarea><br />
<input type="submit" value="提交" />
</form>看了剛剛的展示內容,我們知道文件存儲時:## 1.段與段之間進行了分割
2.內容與用戶之前用一個特殊的符號進行了分割
下面我們來寫write.php寫入留言至檔案的程式碼:
<?php
//追加方式打开文件
$fp=fopen('message.txt','a');
//设置时间
$time=time();
//得到用户名
$username=trim($_POST['username']);
//得到内容
$content=trim($_POST['content']);
//组合写入的字符串:内容和用户之间分开,使用$#
//行与行之间分开,使用&^
$string=$username.'$#'.$content.'$#'.$time.'&^';
//写入文件
fwrite($fp,$string);
//关闭文件
fclose($fp);
header('location:index.php');
?>###### 

