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 相关文章推荐
聊天室php&amp;mysql(二)
Oct 09 PHP
一个简易需要注册的留言版程序
Oct 09 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
PHP正则表达式之定界符和原子介绍
Oct 05 PHP
PHP 异步执行方法,模拟多线程的应用分析
Jun 03 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
php设计模式之命令模式使用示例
Mar 02 PHP
php常用hash加密函数
Nov 22 PHP
教你在header中隐藏php的版本信息
Aug 10 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 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
php自动给网址加上链接的方法
2015/06/02 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
PHP实现网站应用微信登录功能详解
2019/04/11 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
web 页面分页打印的实现
2009/06/22 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
JS辨别访问浏览器判断是android还是ios系统
2014/08/19 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
2018/10/08 Javascript
浅谈vue 锚点指令v-anchor的使用
2019/11/13 Javascript
借助云开发实现小程序短信验证码的发送
2020/01/06 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python正则中最短匹配实现代码
2018/01/16 Python
Python with标签使用方法解析
2020/01/17 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
聚美优品陈欧广告词
2014/03/14 职场文书
项目经理任命书范本
2014/06/05 职场文书
委托代理人授权委托书范本
2014/09/24 职场文书
房贷工资证明范本
2015/06/12 职场文书
三八红旗手先进事迹材料(2016推荐版)
2016/02/25 职场文书
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android