php实现文件留言本

我们讲完了这么多关于文件处理的系统,可是我们连一个最基本的小东西都写不出来。

从这一节开始,大家会发现大家能够写越来越多的东西了。

接下来我们我们来看看演示效果:

在下面一个界面中写入留言内容的表单界面:

444.png

存在留言后的展示界面:

document_2015-09-09_55efe0764ff3c.png


我们来看一下文件结构

index.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');

?>


继续学习
||
<?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'); ?>
提交重置代码
章节
笔记
提问
课件
反馈
捐赠

php入门教程之一周学会PHP

  • 推荐课程
  • 评论
  • 问答
  • 笔记
  • 课件下载
杜敏

杜敏

write.php中最后一行为什么要 加header('location:index.php'); ? index.php里调用的是 message.txt里的内容呀 不加还执行不了 瓶颈中。。。。。

4年前    添加回复 0

0.0

write.php代码运行完进行跳转到index.php

0.0 · 2018-08-14 09:16
回复
杜敏

杜敏

write.php中最后一行为什么要 加header('location:index.php'); ? index.php里调用的是 message.txt里的内容呀 不加还执行不了 瓶颈中。。。。。

4年前    添加回复 0

回复
鱼鱼鱼

鱼鱼鱼

o666

4年前    添加回复 0

回复
折印

折印

green

4年前    添加回复 0

回复
MR.y

MR.y

注意了,font标签已经不能用了,尤其是color属性.用p代替吧

4年前    添加回复 0

回复
phpcn_u46955

phpcn_u46955

这个可以追加无刷新吗?

4年前    添加回复 0

回复
phpcn_u43670

phpcn_u43670

有句MMP,我忍了好久,现在终于可以说出来了。老子第一次能写一个像网页的东西了。

4年前    添加回复 0

回复
luoshui

luoshui

有些内容对于初学者咬不动。有基础的很简单

4年前    添加回复 0

回复
phpcn_u9853

phpcn_u9853

太好了

5年前    添加回复 0

回复

关于rtrim

[最新 潘栋民 的回答]http://www.php.cn/code/1192.html 这个页面的代码。直接贴代码上来格式太乱了,我不知道怎么上传代码好一点

时间:3年前

为什么要用@

[最新 清风 的回答]建议不使用

时间:4年前

abcdefg

abcdefg

asd

3年前 0

折印

折印

LTrim、RTrim 和 Trim 函数的区别 //网络复制过来的 返回不带前导空格 (LTrim)、后续空格 (RTrim) 或前导与后续空格 (Trim) 的字符串副本。 LTrim(string) RTrim(string) Trim(string) string 参数是任意有效的字符串表达式。如果 string 参数中包含 Null,则返回 Null。 折叠编辑本段示例 下面的示例利用 LTrim, RTrim, 和 Trim 函数分别用来除去字符串开始的空格、尾部空格、 开始和尾部空格: Dim MyVar MyVar = LTrim(" vbscript "),MyVar 包含 "vbscript "。 MyVar = RTrim(" vbscript "),MyVar 包含 " vbscript"。 MyVar = Trim(" vbscript "),MyVar 包含 "vbscript"。

4年前 0

课件暂不提供下载,工作人员正在整理中,后期请多关注该课程~