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和ACCESS写聊天室(五)
Oct 09 PHP
用PHP读取flv文件的播放时间长度
Sep 03 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
PHP中怎样防止SQL注入分析
Oct 23 PHP
php创建session的方法实例详解
Jan 27 PHP
PHP实现C#山寨ArrayList的方法
Jul 16 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
php上传excel表格并获取数据
Apr 27 PHP
Laravel框架在本地虚拟机快速安装的方法详解
Jun 11 PHP
php命令行写shell实例详解
Jul 19 PHP
php intval函数用法总结
Apr 14 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
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
使用jQuery实现验证上传图片的格式与大小
2014/12/03 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
python实现端口转发器的方法
2015/03/13 Python
Python正则表达式教程之一:基础篇
2017/03/02 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
Python引用计数操作示例
2018/08/23 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
Python自动发送和收取邮件的方法
2020/08/12 Python
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
爱尔兰电子产品购物网站:Komplett.ie
2018/04/04 全球购物
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
领导检查欢迎词
2014/01/14 职场文书
学生会主席任命书
2015/09/21 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
话题作文之学会尊重
2019/12/16 职场文书
vue2实现provide inject传递响应式
2021/05/21 Vue.js
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python
go开发alertmanger实现钉钉报警
2021/07/16 Golang
python垃圾回收机制原理分析
2022/04/13 Python