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 * * 表 ...
随机推荐
- UVA11059 - Maximum Product
1.题目名称 Maximum Product 2.题目地址 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemi ...
- js基础:关于Boolean() 与 if
最近面试比较多,但每次我问这个问题的时候,答出来的同学并不多 var a = 0; if( a) { alert(1); } 这个问题有部分人会答alert(1), 有些人会答不执行. 结果是不执 ...
- ACM学习历程—POJ3090 Visible Lattice Points(容斥原理 || 莫比乌斯)
Description A lattice point (x, y) in the first quadrant (x and y are integers greater than or equal ...
- 安装ORACLE时在Linux上设置内核参数的含义
前两天看到一篇Redhat官方的Oracle安装文档,对于Linux内核参数的修改描述的非常清晰. 安装Oracle之前,除了检查操作系统的硬件和软件是否满足安装需要之外,一个重点就是修改内核参数,其 ...
- 计算MySQL的内存峰值公式 (转)
-- 计算MySQL的内存峰值公式,计算所有的连接满了的情况下: select (@@key_buffer_size + @@query_cache_size + @@tmp_table_size ...
- 【转】 Pro Android学习笔记(七十):HTTP服务(4):SOAP/JSON/XML、异常
目录(?)[-] SOAP JSON和XMLPullParser Exception处理 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog. ...
- linux命令-任务计划-cron
任务计划,有时间规律的执行某些事情. 查看任务计划:crontab -l 指定用户:crontab -l -u 用户名 该用户没有任务计划. 自定义任务计划 进入一个操作和vim类似的界面 用空格分 ...
- shell入门-特殊符号
特殊符号:* 说明:通配符,多个字符.所有后缀为”.txt“的文件列出来 [root@wangshaojun 111]# ls *.txt11.txt 1.txt 22.txt 2.txt 33.tx ...
- spring 4.0 注解数据验证2
在spring 4.0 注解数据验证1中有基本的数据验证方法.还是那个POJO: package com.suyin.pojo; import java.lang.reflect.Field; imp ...
- Static与Const的区别
static static局部变量 将一个变量声明为函数的局部变量,那么这个局部变量在函数执行完成之后不会被释放,而是继续保留在内存中 static 全局变量 表示一个变量在当前文件的全局内可访问 s ...