PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例


Posted in PHP onJanuary 23, 2020

本文实例讲述了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 以及以后的版本所支持,仅能用于本地文件

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
phpMyAdmin 安装教程全攻略
Mar 19 PHP
php echo 输出字符串函数详解
May 13 PHP
理解php原理的opcodes(操作码)
Oct 26 PHP
给初学者的30条PHP最佳实践(荒野无灯)
Aug 02 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
Feb 17 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
Aug 01 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
利用PHP扩展Xhprof分析项目性能实践教程
Sep 05 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 #PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Jan 22 #PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
Jan 22 #PHP
php经典趣味算法实例代码
Jan 21 #PHP
php利用ZipArchive类操作文件的实例
Jan 21 #PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 #PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 #PHP
You might like
MYSQL 小技巧 -- LAST_INSERT_ID
2009/11/24 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
2015/01/04 PHP
PHP children()函数讲解
2019/02/03 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
用javascript将数据导入Excel示例代码
2014/09/10 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
Python面向对象编程基础解析(二)
2017/10/26 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
Python实现上下文管理器的方法
2020/08/07 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
DataList 能否分页,请问如何实现?
2015/05/03 面试题
提高EJB性能都有哪些技巧
2012/03/25 面试题
新品发布会主持词
2014/04/02 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
高一作文之乐趣
2019/11/21 职场文书
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server
nginx访问报403错误的几种情况详解
2022/07/23 Servers