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 * * 表 ...
随机推荐
- ACM学习历程—POJ 3764 The xor-longest Path(xor && 字典树 && 贪心)
题目链接:http://poj.org/problem?id=3764 题目大意是在树上求一条路径,使得xor和最大. 由于是在树上,所以两个结点之间应有唯一路径. 而xor(u, v) = xor( ...
- 深入V8引擎-枚举+位运算实现参数配置
不知不觉都快月底了,看了看上一篇还是6号写的,惭愧惭愧,说好的坚持.为了证明没有偷懒(其实还是沉迷了一会dota2),先上一个图自证清白. 基本上从初始化引擎,到Isolate.handleScope ...
- BZOJ2212:[POI2011]Tree Rotation
浅谈线段树合并:https://www.cnblogs.com/AKMer/p/10251001.html 题目传送门:https://lydsy.com/JudgeOnline/problem.ph ...
- HTML5对表单的约束验证
在HTML5中增加了许多新的功能,用于表单提交到服务器之前对表单进行数据的验证(抢了javascript的饭碗),有了这些功能,即便是javascript没有加载进来还是可以确保基本的验证.换句话说, ...
- Lua虚拟机初始化
转自:http://www.cnblogs.com/ringofthec/archive/2010/11/09/lua_State.html 1. 创建lua虚拟机 lua_State *lua_ne ...
- 异常:Project configuration is not up-to-date with pom.xml解决方案
转自:https://www.cnblogs.com/zhujiabin/p/6343423.html 1. Description Resource Path Location ...
- Ajax效果--个人收藏
$.ajax({ url: "../../../Tools/WeChatMenu.ashx?action=get_menu", type: "post", da ...
- jquery 选择器的总结
元素选择 $("input") id选择 $('#id') class选择 $('.id') 属性选择 $('[prop]')或者$('[prop=“value1”]')或者$(' ...
- 27.【转载】挖洞技巧:如何绕过URL限制
大家对URL任意跳转都肯定了解,也知道他的危害,这里我就不细说了,过~ 大家遇到的肯定都是很多基于这样的跳转格式:http://www.xxx.xxx/xxx?xxx=http://www.xxx.x ...
- 1.浅谈XXE漏洞攻击与防御
XML基础 在介绍XXE漏洞前,先学习温顾一下XML的基础知识.XML被设计为传输和存储数据,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具. XML是一种用于标记电子文 ...