PHP对文件读取写入的基本操作知识点,另附id传参教学!

原创 阁主  2019-05-12 17:52:56  阅读 4218 次 评论 3 条
摘要:

本文将讲解一个简单的留言本项目,涉及文件创建、读取、写入、展示、id传参;用以入门训练笔记存档!

知识点:

涉及函数:

//打开文件
fopen(string $filename,string $mode);  
//给文件写入内容
fwrite($fp, $a);  
//关闭资源
fclose($fp);
//从文件指针中读入一行并解析 CSV 字段
fgetcsv(resource $handle);

本文只讲解案例和抽选相关函数讲解,更多知识点移步:菜鸟教程

目录结构.png

如上图案例结构图,按照阁主流程和思路将讲解如何创建msg.txt文本文档,并使用PHP对文档进行写入和读取操作,最后输出可视化展现给用户。

1.创建并打开msg.txt文档

文档存放与根目录下的files文件夹下。

//a参数为写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 
$fp= fopen('./files/msg.txt','a');

网而打开write.php会发现files文件夹下多出msg.txt空白内容的文档。

空白.png

2.前端提交留言:

这里写了一个简单的前台提交表单页面。下列代码会将表单信息以POST提交方式提交往write.php进行后续写入处理。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>添加留言</title>
</head>
<body>
<form action="write.php" method="post">
    标题:
    <input type="text" name="title" id=""><br />
    内容:
    <textarea name="content" id="" cols="30" rows="10"></textarea><br />
    <input type="submit" value="提交">
</form>
</body>
</html>

效果:

前台效果.png

3.将前台提交留言写入msg.txt。

//拼接写入内容
$a=$_POST['title'].','.$_POST['content']."\n";
//打开文件
$fp= fopen('./files/msg.txt','a');
//沿着资源写入内容
fwrite($fp, $a);
//关闭资源
fclose($fp);
//友好提示
echo 'Is OK';

效果:这里只查看文档内容情况。

提交.png

写入测试成功.png

4.读取文档内容。

使用while循环输出文档内容。fgetcsv函数依据文档内的逗号来隔开字符并以数组形式存放。

$fp = fopen('./files/msg.txt', 'r');
echo '<table border="1">';
//fgetcsv函数指针识别到最后没内容会返回false.
while (($row = fgetcsv($fp)) != false) {
    echo '<tr>';
    echo '<td>' . $row[0] . '</td>';
    echo '<td>' . $row[1] . '</td>';
    echo '</tr>';
}
echo '</table>';
fclose($fp);

效果:

结果.png

5.id传参教学。

其实教程到第4步应该结束了,但是想一想最后展示的留言内容太多,不利于用户自己查看,随后补了一个id传参知识点。使用id传参可以准确的让PHP帮我们处理并输出单条留言信息。

在第四步的基础上改写一下,也就是加入了<a>标签进行传参进行跳转相应留言字段。

$fp = fopen('./files/msg.txt', 'r');
echo '<table border="1">';
$tid = 1;
while (($row = fgetcsv($fp)) != false) {
    echo '<tr>';
    echo '<td><a href="'.'read2.php?tid='.$tid.'">' . $row[0] . '</td>';
    echo '<td>' . $row[1] . '</td>';
    echo '</tr>';
    $tid = $tid + 1;
}
echo '</table>';

接下来新建read2.php文件,键入下列代码,用于接收read.php发过来的参数并处理展现单条留言给用户。

$fp = fopen('./files/msg.txt', 'r');
$tid = $_GET['tid'];
$num = 1;
while (($row = fgetcsv($fp)) != false) {
    if ($num == $tid){
        echo '<h1>'.$row[0].'</h1>';
        echo '<p>'.$row[1].'</p>';
    }
    $num = $num+1;
}
fclose($fp);

效果:

测试id.png

结束:

最终效果演示:

GIF.gif

项目源码:

蓝奏云提供下载:

file_demo1.zip大小:2.2 K
已经过安全软件检测无毒,请您放心下载。
本文地址:https://www.mainblog.cn/163.html
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。

评论已关闭!