PHP读写文件示例

来源:互联网 发布:织梦小说网站源码 编辑:程序博客网 时间:2024/04/30 19:06

PHP中,数据通常都是存储在MySQL数据库当中的。但是有些时候,我们还是需要使用PHP读写一些本地文件。比如生成静态页面或者数据的本地缓存。

我们用一个简单的访问日志来演示一下fopen, fread, fwrite, fclose的用法。

每当我们访问此网页的时候,会显示出访问过的IP以及访问时间;同时当前的访问也会被记录,以便在下次访问的时候出现。

Code:
  1. <?php  
  2. header("Content-Type: text/plain");  
  3.   
  4. $visitorIP = $_SERVER["REMOTE_ADDR"];  
  5. $currentTime = date("H:i:s");  
  6.   
  7. iffile_exists("./visitLog.log") ):  
  8.         $logFileHandle = fopen("./visitLog.log""r+");  
  9.         $logFileSize = filesize("./visitLog.log");  
  10.         $logContent = fread($logFileHandle$logFileSize);  
  11. else:  
  12.         $logFileHandle = fopen("./visitLog.log""x+");  
  13.         $logContent = "/r/tNo more Log";  
  14. endif;  
  15.   
  16. echo "Visit Log:" .  
  17.          $logContent;  
  18.   
  19. fwrite($logFileHandle"/r/t" . $visitorIP . "/t" . $currentTime);  
  20. fclose($logFileHandle);  
  21. /* author: www.jzxue.com */  
  22. ?>  
  23.   
  24.    

首先我们需要使用 file_exists(filename) 函数来判断日志文件是否存在,如果不存在则创建;
随后如果存在,我们直接读取其所有内容,用 fread(fileHandle, sizeToRead) 来读取(如果需要读取所有的内容,sizeToRead 可以直接填写文件的大小);
读取完之后,我们在用 fwrite(fileHandle, contentToWrite) 来写如新的访问记录;
当所有的文件操作都完成后,我们用 fclose(fileHandle) 来关闭已打开的日志文件。
所有操作完成!

原创粉丝点击