PHP读写文件示例
网络整理 - 07-27
PHP中,数据通常都是存储在MySQL数据库当中的。但是有些时候,我们还是需要使用PHP读写一些本地文件。比如生成静态页面或者数据的本地缓存。
我们用一个简单的访问日志来演示一下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);
/* author: */
?>
首先我们需要使用 file_exists(filename) 函数来判断日志文件是否存在,如果不存在则创建;
随后如果存在,我们直接读取其所有内容,用 fread(fileHandle, sizeToRead) 来读取(如果需要读取所有的内容,sizeToRead 可以直接填写文件的大小);
读取完之后,我们在用 fwrite(fileHandle, contentToWrite) 来写如新的访问记录;
当所有的文件操作都完成后,我们用 fclose(fileHandle) 来关闭已打开的日志文件。
所有操作完成!
