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 * * 表 ...
随机推荐
- 优秀开源项目之一:视频监控系统iSpy
iSpy是一个开源的视频监控软件,目前已经支持中文.自己用了一下,感觉还是很好用的.翻译了一下它的介绍. iSpy将PC变成一个完整的安全和监控系统 iSpy使用您的摄像头和麦克风来检测和记录声音或运 ...
- BZOJ1217:[HNOI2003]消防局的设立
我对贪心的理解:https://www.cnblogs.com/AKMer/p/9776293.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem ...
- NetScaler VPX在Azure上的部署(二)
本文是Citrix的工程师协助完成.主要是Citrix的VPX的配置. 导入License 进入NetScaler 中点击管理许可 导入后将有提示,请确认重启. 配置Azure HA 由于 ...
- makefile 基础知识
$@ 目标文件名 $< 第一个依赖文件名 $^ 规则所有依赖文件列表 如果不想让执行语句被打印出来,就在语句前面加上@符号 模式规则 %.o:%.c 后缀规则 .c.o 生成单进程的Mak ...
- 使用LookAndFeel为界面更换皮肤
----------------siwuxie095 在 Windows 系统中,默认的 Java 运行环境(JRE)会为当前的窗体程序 指定一 ...
- Ubuntu12.04安装 vsftpd
Ubuntu12.04 FTP 的配置 ubuntu安装ftp服务器 1: 安装vsftpd ~$ sudo apt-get install vsftpd 2: 配置vsftpd 2.1 修改vs ...
- 《精通Spring4.X企业应用开发实战》读后感第六章(国际化)
- js常用知识点汇总
1.json字符串与json对象相互转化(转至:http://www.jb51.net/article/43136.htm) SON字符串: var str1 = '{ "name" ...
- 【mysql 统计分组之后统计录数条数】
SELECT count(*) FROM 表名 WHERE 条件 // 这样查出来的是总记录条 SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id //这样统 ...
- <base target="_self"/>标签的用法
语法 <base target="value"> 属性值 值 描述 _blank 在新窗口中打开被链接文档. _self 默认.在相同的框架中打开被链接文档. _par ...