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写的带缓存数据功能的mysqli类
Sep 06 PHP
thinkphp模板继承实例简述
Nov 26 PHP
php获取用户浏览器版本的方法
Jan 03 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
PHP加密解密类实例分析
Apr 20 PHP
PHP自毁程序(慎用)
Jul 09 PHP
标准版Eclipse搭建PHP环境的详细步骤
Nov 18 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
Feb 14 PHP
PHP框架性能测试报告
May 08 PHP
php无法连接mysql数据库的正确解决方法
Jul 01 PHP
PHP实现字母数字混合验证码功能
Jul 11 PHP
PDO实现学生管理系统
Mar 21 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实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
JavaScript的目的分析
2007/01/05 Javascript
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
JS常见算法详解
2017/02/28 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
微信小程序日历效果
2018/12/29 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
python实现用于测试网站访问速率的方法
2015/05/26 Python
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
python 实现单例模式的5种方法
2020/09/23 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
CSS3教程(4):网页边框和网页文字阴影
2009/04/02 HTML / CSS
美国网上订购鲜花:FTD
2016/09/23 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
2014年班组建设工作总结
2014/12/01 职场文书
会计工作岗位职责
2015/02/03 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
会议通知
2015/04/15 职场文书
中秋联欢会主持词
2015/07/04 职场文书
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python