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 事件机制(2)
Mar 23 PHP
PHP 使用pcntl和libevent 实现Timer功能
Oct 27 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
May 08 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
php发送get、post请求的6种方法简明总结
Jul 08 PHP
ThinkPHP的MVC开发机制实例解析
Aug 23 PHP
Yii2框架使用计划任务的方法
May 25 PHP
PHP中set_include_path()函数相关用法分析
Jul 18 PHP
php并发加锁示例
Oct 17 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
Lumen timezone 时区设置方法(慢了8个小时)
Jan 20 PHP
通过PHP实现用户注册后邮箱验证激活
Nov 10 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 URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
php生成图形验证码几种方法小结
2013/08/15 PHP
php格式化日期和时间格式化示例分享
2014/02/24 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
PHP时间戳和日期相互转换操作实例小结
2018/12/18 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
防止jQuery ajax Load使用缓存的方法小结
2014/02/22 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
css3 transform属性详解
2014/09/30 HTML / CSS
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
Fenty Beauty官网:蕾哈娜创立的美妆品牌
2021/01/07 全球购物
你对IPv6了解程度
2016/02/09 面试题
教师的实习自我鉴定
2013/12/17 职场文书
十佳教师事迹材料
2014/01/11 职场文书
税务干部鉴定材料
2014/02/11 职场文书
1亿有多大教学反思
2014/05/01 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
安全保证书怎么写
2015/02/28 职场文书
停电通知范文
2015/04/16 职场文书
主持稿开场白
2015/06/01 职场文书
无线电通信名词解释
2022/02/18 无线电