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实时显示输出
Oct 02 PHP
php中用date函数获取当前时间有误的解决办法
Aug 02 PHP
测试php函数的方法
Nov 13 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
PHP也能干大事 随机函数
Apr 14 PHP
php获取错误信息的方法
Jul 17 PHP
基于CI框架的微信网页授权库示例
Nov 25 PHP
老生常谈PHP位运算的用途
Mar 12 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP生成腾讯云COS接口需要的请求签名
May 20 PHP
TP5框架实现的数据库备份功能示例
Apr 05 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
Sep 13 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
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
载入进度条 效果
2006/07/08 Javascript
jQuery 性能优化指南(2)
2009/05/21 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
2018/04/27 jQuery
微信小程序倒计时功能实例代码
2018/07/17 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
[00:53]2015国际邀请赛 中国区预选赛一触即发
2015/05/14 DOTA
python书籍信息爬虫实例
2018/03/19 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
解决PyCharm import torch包失败的问题
2018/10/13 Python
几款好用的python工具库(小结)
2020/10/20 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
施华洛世奇波兰官网:SWAROVSKI波兰
2019/06/18 全球购物
土木工程实习生自我鉴定
2013/09/19 职场文书
2014年销售员工作总结
2014/12/01 职场文书
2015年超市工作总结
2015/04/09 职场文书
股东大会通知
2015/04/24 职场文书
护士旷工检讨书
2015/08/15 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL