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 相关文章推荐
一个简易需要注册的留言版程序
Oct 09 PHP
Zend framework处理一个http请求的流程分析
Feb 08 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
解析:通过php socket并借助telnet实现简单的聊天程序
Jun 18 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
实例分析基于PHP微信网页获取用户信息
Nov 24 PHP
php-fpm服务启动脚本的方法
Apr 27 PHP
php无限极分类实现方法分析
Jul 04 PHP
php的命名空间与自动加载实现方法
Aug 25 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
Oct 13 PHP
PHP字符串与数组处理函数用法小结
Jan 07 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操作数组相关函数
2011/02/03 PHP
PHP 时间日期操作实战
2011/08/26 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
PHP如何使用Memcached
2016/04/05 PHP
PHP7新增函数
2021/03/09 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
js类的静态属性和实例属性的理解
2009/10/01 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
[35:26]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第三局
2016/02/26 DOTA
跟老齐学Python之print详解
2014/09/28 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
python多进程控制学习小结
2018/10/31 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
python实现ip地址的包含关系判断
2020/02/07 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
Python加速程序运行的方法
2020/07/29 Python
python复合条件下的字典排序
2020/12/18 Python
华为的Java面试题
2014/03/07 面试题
银行存款证明样本
2014/01/17 职场文书
园艺师求职信
2014/03/10 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
学校开除通知书
2015/04/25 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python