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 24 PHP
PHP编码转换函数 自动转换字符集支持数组转换
Dec 16 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
php中get_cfg_var()和ini_get()的用法及区别
Mar 04 PHP
php生成4位数字验证码的实现代码
Nov 23 PHP
WordPress主题制作之模板文件的引入方法
Dec 28 PHP
PHP统计目录中文件以及目录中目录大小的方法
Jan 09 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 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
Protoss热键控制
2020/03/14 星际争霸
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php+mysql查询优化简单实例
2015/01/13 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
2020/09/17 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
js 居中漂浮广告
2010/03/21 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
如何防止JavaScript自动插入分号
2015/11/05 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
基于vue-resource jsonp跨域问题的解决方法
2018/02/03 Javascript
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
python3实现多线程聊天室
2018/12/12 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
英国钻石公司:British Diamond Company
2020/02/16 全球购物
自考生自我评价分享
2014/01/18 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
关于JavaScript轮播图的实现
2021/11/20 Javascript