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 相关文章推荐
模仿OSO的论坛(三)
Oct 09 PHP
php的一些小问题
Jul 03 PHP
php常用Stream函数集介绍
Jun 24 PHP
PHP伪静态Rewrite设置之APACHE篇
Jul 30 PHP
ThinkPHP实现ajax仿官网搜索功能实例
Dec 02 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
Mar 13 PHP
学习php设计模式 php实现桥梁模式(bridge)
Dec 07 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
May 19 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 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
使用MaxMind 根据IP地址对访问者定位
2006/10/09 PHP
PHP+ajax 无刷新删除数据
2010/02/20 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
php文件上传简单实现方法
2015/01/24 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
js 打开新页面在屏幕中间的实现方法
2016/11/02 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
python socket 超时设置 errno 10054
2014/07/01 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
带你了解python装饰器
2017/06/15 Python
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
Python语言描述连续子数组的最大和
2018/01/04 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
Django 中间键和上下文处理器的使用
2019/03/17 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
农业大学毕业生的个人自我评价
2013/10/11 职场文书
残疾人小组计划书
2014/04/27 职场文书
竞赛口号大全
2014/06/16 职场文书
2014离婚协议书范文
2014/09/10 职场文书
Sql-Server数据库单表查询 4.3实验课
2021/04/05 SQL Server
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers