-
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
这篇文章主要介绍了PHP检查文件是否存在,不存在自动创建及读取文件内容操作,结合实例形式分析了PHP针对文件的检测、创建、遍历、读取等相关操作技巧,需要的朋友可以参考下。
本文实例讲述了PHP检查文件是否存在,不存在自动创建及读取文件内容操作,分享给大家供大家参考,具体如下:
- <?php
- $filename = 'a/b.html';
- $writetext = 'ssssssssssss';
- $result = jwritefile($filename, $writetext);
- var_dump($result);die;
- function jwritefile($filename, $writetext) {
- $position = strrpos($filename,'/');
- $path = substr($filename,0,$position);
- if(!file_exists($path)){
- mkdir($path,0777,true);
- }
- $updatetime = filemtime($filename);
- $difftime = time()-$updatetime;
- if($difftime > 3600){//时间大于一个小时
- if (@file_put_contents($filename, $writetext, LOCK_EX)) {
- return 1;
- }else {
- return -1;
- }
- }else{
- return 0;//时间小于1一个钟头,不用生成
- }
- }
- ?>
- <?php
- $filename = $path.'log/'.gmdate('Ym').'/'.gmdate('j').'.log';//文件地址
- $position = strrpos($filename,'/');
- $path = substr($filename,0,$position);
- if(!file_exists($path)){
- mkdir($path,0777,true);//创建目录
- }
- $fp=@fopen($filename,"a+");
- $content = $log."-".date('Y-m-d H:i:s')."\r\n";
- @fputs($fp,$content);
- @fclose($fp);
- ?>
读取文件内容
- <?php
- $handle = @fopen("/tmp/inputfile.txt", "r");
- if ($handle) {
- while (!feof($handle)) {
- $buffer = fgets($handle, 4096);
- echo $buffer;
- }
- fclose($handle);
- }
- ?>
附加说明:
fopen() 中 mode 的可能值列表
mode 说明
'r' 只读方式打开,将文件指针指向文件头。
'r+' 读写方式打开,将文件指针指向文件头。
'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'x' 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
'x+' 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件
出处:http://www.phpfensi.com/php/20220206/19796.html