PHP文件读写操作
2016-09-02 19:00
429 查看
最近学习了PHP的文件操作。PHP文件操作,最基本是要熟练地掌握增加和删除*文件内容*。
第一个,先来学习如何增加内容到一个文件中1. 文件流指针,PHP对文件操作关键元素有一个是文件流指针的,有了它我们才能自由往文件中插入内容和删除内容。那么我们如何获取它呢?
Amswer: 通过PHP提供的函数fopen(filename,mode),这个函数可以打开一个文件,并且返回一个文件流指针。filename参数是一个文件路径,
比如”
D:\\data.txt“,这个是指windows系统下D盘的data.txt文件; 第二个参数mode 是打开文件的访问类型。
常见的访问类型有哪些呢?
- 1.只读形式(r)
- 2.写入形式(w)
- 3.追加形式(a)
Example:
$filePoint = fopen('data.txt', 'w'); //以写方式打开文件,如果文件不存在是会新建的 $filePoint = fopen('data.txt', 'r'); //以只读方式打开文件,如果文件不存在会返回false $filePoint = fopen('data.txt', 'a'); //以追加方式打开文件,在文件最后面追加内容
fclose()函数作用:用于关闭fopen()函数打开的文件流指针。一定要记得打开文件流指针后,不做操作必须要用fclose()函数关闭掉。
Example:
fclose($filePoint);
2. 写操作,我们拿到文件流指针后,那么就该进行读写操作了。如何写呢?
Answer:通过PHP提供的函数fwrite(filePonit,content), 这个函数有两个参数,第一个参数是文件流指针,第二个参数是写入的内容。
Example:
if($filePoint){ fwrite($filePoint, 'hello'); //把hello写入文件中去; }
[注意]在写操作前一定要判断操作的文件流指针是否为空,要做必要的判空处理而且使用fopen函数在w访问模型下返回的是文件的指针头。
因此,如果你不指定指针头的偏移量,则会导致这次写入的内容把上一次的内容覆盖。如果只是简单的追加内容,可以用fopen函数在a追加的访问模型下打开文件,这样每次文件指针头都是在最后面,不用你做偏移。
3. 读操作,我们如何读取文件内容呢?
Answer:这个函数第一个参数是文件流指针,第二个参数是读取的长度。
Example:
if($filePoint){ //在linux和windows,一般4096就是一行 while(!($buffer = fread($filePoint, 4096))) echo $buffer; }
小结,经过以上的介绍,相信你对文件的操作已经胸有成竹。那么,为什么不动手实现下呢?
最后,我实现一个写文件和读文件,追加内容到文件的代码,简单封装在类里面。
写的不好,欢迎吐槽,手动微笑 :)!
/**
* Created by PhpStorm.
* User: zhanghengyu
* Date: 2016/9/2
* Time: 18:17
*/
namespace File;
class FileOperate
{
//写入文件
public function writeToHeadHandle($username, $content)
{
$filePoint = fopen('data.txt', 'w');
if ($filePoint) {
fwrite($filePoint, $username."\r\n");
fwrite($filePoint, $content."\r\n");
} else {
echo '打开文件错误';
}fclose($filePoint);
}
//追加内容到文件尾部
public function writeToEndHandle($username, $content)
{
$filePoint = fopen('data.txt', 'a');
if ($filePoint) {
fwrite($filePoint, $username."\r\n");
fwrite($filePoint, $content."\r\n");
} else {
echo '打开文件错误';
}fclose($filePoint);
}
//读取文件
public function readHandle()
{
$filePoint = fopen('data.txt', 'r');
if ($filePoint) {
while (($buffer = fgets($filePoint, 4096)) != NULL) {
echo $buffer.'';
}
} else {
echo '打开文件错误';
}fclose($filePoint);
}
}
$fileOperateObj = new FileOperate();
$fileOperateObj->writeHandle('张全蛋','我是掘球莱火雷蛋');
$fileOperateObj->readHandle();
效果图:
data.txt
好了,这次常见的文件操作就介绍到这里,后面我会基于本次博文实现一个异步的留言板。
相关文章推荐
- PHP 文件读写操作
- PHP文件读写操作之文件读取方法详解
- PHP多线程读写文件操作
- php——读写文件操作
- 第二十三课:PHP中文件读写操作
- PHP-表单的读写,File文件的操作等---ShinePans
- PHP中文件读写操作
- PHP文件操作之读写
- PHP中文件的读写操作
- PHP文件读写操作相关函数总结
- PHP读写文件操作
- PHP文件系统-文件的读写操作
- PHP文件读写操作之文件写入代码
- PHP文件读写操作
- php读写文件操作
- PHP文件读写操作之文件写入代码
- php入门学习知识点六 PHP文件的读写操作代码
- PHP 读写文件操作实例
- PHP中文件读写操作
- PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)