PHP学习 文件操作函数的应用--简单网络留言模板
<?php
/**
网络留言板模式
主要运用到的函数有
fopen fclose flock fwrite fread explode list
*/
?>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<?php error_reporting(E_ALL && !E_NOTICE) ?>
<html>
<head>
<title>网络留言板模式</title>
</head>
<body>
<?php
//声明变量来保存文件名
$filename = "data_text.txt"; //判断用户是否提交 若是则写入文件
if(isset($_POST["sub"])){
//将三条信息整合成一条,用”||“隔开 用”<|>“结束
$message = $_POST["username"]."||".$_POST["title"]."||".$_POST["mess"]."<|>";
writeMessage($filename,$message );
} //文件存在则读取数据
if(file_exists($filename))
readMessage($filename); /**
自定义一个向文件中写入数据的函数
*/
function writeMessage($filename,$message){
$fp = fopen($filename,"a");//以追加模式打开文件
if(flock($fp,LOCK_EX)){
fwrite($fp,$message);
flock($fp,LOCK_UN);
}else{
echo "不能锁定文件";
}
fclose($fp);
} /**
自定义一个遍历读取文件的函数
*/
function readMessage($filename){
$fp = fopen($filename,"r");
flock($fp,LOCK_SH);
$buffer = "";
//将文件中的数据读入到$buffer中
while(!feof($fp))
$buffer .= fread($fp,1024);
//通过”<|>“将每行留言分隔并存入数组中
$data = explode("<|>",$buffer);
//遍历数组并将每行数据再分隔
foreach($data as $line){
list($username,$title,$message) = explode("||",$line);
if($username != "" && $title != "" && $message != ""){
echo $username.'说';
echo ' '.$title.',';
echo $message."<hr>";
}
}
flock($fp,LOCK_UN);
fclose($fp);
}
?> <!--以下为用户输入表单-->
<form action="" method = "post">
用户名:<input type = "text" size = 10 name="username"><br>
标 题:<input type = "text" size = 30 name = "title"><br>
<textarea name = "mess" rows = 4 cols = 38>请在这里留言</textarea>
<input type = "submit" name = "sub" value = "留言">
</form>
</body>
</html>
如果有用户留言 则将留言内容保存到文件
自定义保存样式 通过explode函数将其分隔
判断保存留言的文件是否存在 若是则输出
输出的留言是将文件里的内容分解出来的 主要用到函数有:list explode
PHP学习 文件操作函数的应用--简单网络留言模板的更多相关文章
- Delphi文件操作函数
文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道.文件的本质是一个数据流,所有的文件实际上是一串二进制序列.文件管理包括:1.文件操作.2.目录操作.3.驱动器操作.三部分. 1.常见文 ...
- PHP常用的文件操作函数集锦
以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名:basename();给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件 ...
- C语言样式的文件操作函数
使用C语言样式的文件操作函数,需要包含stdio.h头文件. 1.打开文件的函数: //oflag的取值为“w”或“r”,分别表示以写或读的方式打开 FILE* fd = fopen(filename ...
- Unix无缓冲文件操作函数、文件信息查询
问题描述: Unix无缓冲文件操作函数.文件信息查询 问题解决: struct stat 结构体信息: 具体代码: 具体源文件:
- C语言文件操作函数
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...
- 总结文件操作函数-文件夹(三)-C语言
获取.改变当前文件夹: 原型为: #include <unistd.h> //头文件 char *getcwd(char *buf, size_t size); //获取当前文件夹.相 ...
- PHP 面试时常考的文件操作函数
前两天面试的时候,笔试要求写一些文件操作类函数,什么遍历目录获取文件扩展名之类的,回来后大致总结了一下PHP中一些常见的文件操作函数分享一下. 1.使用递归删除目录及目录下所有文件的方法. funct ...
- 【阅读笔记】《C程序员 从校园到职场》第六章 常用文件操作函数 (Part 1)
参考链接:https://blog.csdn.net/zhouzhaoxiong1227/article/details/24926023 让你提前认识软件开发(18):C语言中常用的文件操作函数总结 ...
- Linux C 文件操作函数(~上善止水~)
翻翻笔记,整理一下 C 语言中的文件操作函数 ~~~~~~,多注意细节,maybe 细节决定成败~ 1. fopen /* fopen(打开文件) * * 相关函数 open,fclose * * 表 ...
随机推荐
- Simple Rtmp Server的安装与简单使用
Simple Rtmp Server是一个国人编写的开源的RTMP/HLS流媒体服务器. 功能与nginx-rtmp-module类似, 可以实现rtmp/hls的分发. 有关nginx-rtmp-m ...
- 【LeetCode】066. Plus One
题目: Given a non-negative integer represented as a non-empty array of digits, plus one to the integer ...
- vue 常见的新增、编辑、查看公用同一个页面
用vue开发经常会碰到,一个功能的新增.编辑.查看公用同一个页面,如果是页面暂且不提. 但是弹框,很多人会发现,如果是点击编辑,取消,再点新增,弹框上面是会有残留数据的,为什么会这样呢,因为在点编辑的 ...
- yeoman,grunt,bower
Yeoman主要有三部分组成:yo(脚手架工具).grunt(构建工具).bower(包管理器).这三个工具是分别独立开发的,但是需要配合使用,来实现我们高效的工作流模式. http://www.cn ...
- Operating System-Process(2)进程表&&中断处理
上一篇文章阐述了进程的基本信息,本文主要介绍进程的实现,主要内容: 进程表(Process Table or Process Control Blocks) 中断处理(Interrupt) 一.进程表 ...
- ThinkPHP5.1的公共函数
最初使用ThinkPHP3.2.3的时候,我们自己定义的公共函数常常放置于 \Common\function.php ThinkPHP5.1 公共函数 项目公用的会放在 \application\co ...
- 使用Sed抽取MySQL安装文档的目录及行号
sed -nr -e '/^2.|^shell/=' -e '/^2.|^shell/p' INSTALL-SOURCE |awk '{if (NR%2==1) x=$1; else printf ...
- Velocity的layout功能
一.从VelocityViewServlet到VelocityLayoutServlet 使用Velocity开发web应用时,需要在web.xml中配置一个Velocity提供的VelocityVi ...
- python version 2.7 required,which was not found in
python version 2.7 required,which was not found in 出现上面这种情况的原因我推测有两种: 1.NumPy和SciPy官方网站上只提供了32bit的文件 ...
- electron将网站打包成桌面应用
需求同 NW.js将网站打包成桌面应用 1. 从github上克隆electron示例项目 git clone https://github.com/electron/electron-quick-s ...