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 相关文章推荐
URL Rewrite的设置方法
Jan 02 PHP
PHP 地址栏信息的获取代码
Jan 07 PHP
用PHP读取和编写XML DOM的实现代码
Feb 03 PHP
PHP可逆加密/解密函数分享
Sep 25 PHP
php全排列递归算法代码
Oct 09 PHP
php使用cookie显示用户上次访问网站日期的方法
Jan 26 PHP
PHP生成plist数据的方法
Jun 16 PHP
php实现的用户查询类实例
Jun 18 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
Apr 08 PHP
PHP使用非对称加密算法RSA
Apr 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
重置版宣传动画
2020/04/09 魔兽争霸
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
javascript 面向对象编程基础 多态
2009/08/21 Javascript
jQuery总体架构的理解分析
2011/03/07 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
js读取配置文件自写
2014/02/11 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
jquery ztree实现右键收藏功能
2017/11/20 jQuery
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
带你了解python装饰器
2017/06/15 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
pandas计数 value_counts()的使用
2019/06/24 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
python的链表基础知识点
2020/09/13 Python
极简的HTML5模版
2015/07/09 HTML / CSS
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
常见的软件开发流程有哪些
2015/11/14 面试题
技校生自我鉴定范文
2013/09/26 职场文书
付款委托书范本
2014/04/04 职场文书
水利局群众路线专题民主生活会发言材料
2014/09/21 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
简历自我评价优缺点
2015/03/11 职场文书
2016年春节慰问信息
2015/03/25 职场文书
导游词之河北野三坡
2019/12/11 职场文书