PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
作者:luyaran
这篇文章主要介绍了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); } ?>
附加说明:
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 以及以后的版本所支持,仅能用于本地文件 |
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP目录操作技巧汇总》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP网络编程技巧总结》
希望本文所述对大家PHP程序设计有所帮助。