PHP 文件读写操作(一)简易版
来源:互联网 发布:js大于等于怎么写 编辑:程序博客网 时间:2024/05/17 01:48
PHP 中,数据通常都是存储在MySQL数据库当中的。但是有些时候,我们还是需要使用PHP读写一些本地文件。比如生成静态页面或者数据的本地缓存。
PHP5+ 提供了一种方法 file_put_contents(file,data,mode,context),它将一个字符串写入文件,返回写入到文件内数据的字节数。和依次调用 fopen(),fwrite() 以及 fclose() 功能一样,方便了使用。
可选。规定如何打开/写入文件。可能的值:
- FILE_USE_INCLUDE_PATH:使用包含目录定义
- FILE_APPEND:追加,防止被改写原文件内容
- LOCK_EX:独占锁定方式
如果参数省略则默认为改写文件方式
context可选。规定文件句柄的环境。
context 是一套可以修改流的行为的选项。
PHP 参考书中,指明了读文件方法 file_get_contents 的可用版本 (PHP 4 >= 4.3.0, PHP 5),PHP 5 进行了扩展, 5.0.0 添加了对 context 的支持。 5.1.0 添加了offset 和 maxlen 参数。
具体用法:file_get_contents ( file , flags ,context , offset , maxlen)
可选。规定如何读取文件。可能的值:
- FILE_USE_INCLUDE_PATH:使用包含目录定义
- FILE_TEXT:文本格式内容。
- FILE_BINARY:仅用于二进制格式。
如果参数省略则默认为FILE_BINARY
context上下文
offset可选。起始读位置,偏移。
maxlen可选。读入长度。
PHP5以下版本我们用 fopen, fread, fwrite, fclose 进行文件读写。下面附上一段例子:
每当我们访问此网页的时候,会显示出访问过的IP以及访问时间;同时当前的访问也会被记录,以便在下次访问的时候出现。
- <?php
- header("Content-Type: text/plain");
- $visitorIP = $_SERVER["REMOTE_ADDR"];
- $currentTime = date("H:i:s");
- if( file_exists("./visitLog.log") ):
- $logFileHandle = fopen("./visitLog.log", "r+");
- $logFileSize = filesize("./visitLog.log");
- $logContent = fread($logFileHandle, $logFileSize);
- else:
- $logFileHandle = fopen("./visitLog.log", "x+");
- $logContent = "/r/tNo more Log";
- endif;
- echo "Visit Log:" . $logContent;
- fwrite($logFileHandle, "/r/t" . $visitorIP . "/t" . $currentTime);
- fclose($logFileHandle);
- ?>
- 首先我们需要使用 file_exists(filename) 函数来判断日志文件是否存在,如果不存在则创建;
- 随后如果存在,我们直接读取其所有内容,用 fread(fileHandle, sizeToRead) 来读取(如果需要读取所有的内容,sizeToRead 可以直接填写文件的大小);
- 读取完之后,我们在用 fwrite(fileHandle, contentToWrite) 来写如新的访问记录;
- 当所有的文件操作都完成后,我们用 fclose(fileHandle) 来关闭已打开的日志文件。
所有操作完成!
附读写参数:
‘r’ 只读方式打开,将文件指针指向文件头。‘r+’ 读写方式打开,将文件指针指向文件头。
‘w’ 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建文件。
‘w+’ 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建文件。
‘a’ 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建文件。
‘a+’ 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建文件。
0 0
- PHP 文件读写操作(一)简易版
- PHP 文件读写操作
- PHP读写文件操作
- PHP文件读写操作
- PHP文件读写操作
- php文件读写操作
- IO操作之文件读写(一)
- PHP 读写文件操作实例
- PHP文件操作之读写
- PHP多线程读写文件操作
- php文件的读写操作
- php文件的读写操作
- 文件的读写操作一
- C++文件读写操作(一) 逐字符读取文件
- C++简易文件读写
- Android数据存储方式(一)文件读写操作
- php——读写文件操作
- PHP读写文件的基本操作
- 面试笔试杂项积累-leetcode 201-205
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- 深入理解Java虚拟机----(四)性能监控与故障处理工具
- Android 的性能 I-内存的管理技巧
- HDOJ 1027Ignatius and the Princess II(全排列)
- PHP 文件读写操作(一)简易版
- PHP常用的文件操作(二)详细版
- IOS开发系列(一) - Xcode
- java特种兵读书笔记(5-4)——并发之JDK
- atime ctime mtime
- poj1466
- 简易天气api
- LightOJ 1163 - Bank Robbery (思维方程式求解)
- POJ 2479 (动态规划)