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 相关文章推荐
MYSQL环境变量设置方法
Jan 15 PHP
Dedecms常用函数解析
Feb 01 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
Sep 30 PHP
PHP 编程安全性小结
Jan 08 PHP
php递归法读取目录及文件的方法
Jan 30 PHP
php打包网站并在线压缩为zip
Feb 13 PHP
php单链表实现代码分享
Jul 04 PHP
php 函数使用可变数量的参数方法
May 02 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
Apr 10 PHP
PHP基于ip2long实现IP转换整形
Dec 11 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设计模式之调解者模式的深入解析
2013/06/13 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
2013/12/24 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
2016/06/08 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
js实现无缝轮播图
2020/03/09 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
python中的代码编码格式转换问题
2015/06/10 Python
Python存取XML的常见方法实例分析
2017/03/21 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
Python爬虫工程师面试问题总结
2018/03/22 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
python中openpyxl和xlsxwriter对Excel的操作方法
2021/03/01 Python
函授本科毕业生自我鉴定
2013/10/16 职场文书
卫校毕业生自我鉴定
2013/10/31 职场文书
行政部主管岗位职责
2013/12/28 职场文书
银行开业庆典方案
2014/02/06 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
大学生村官工作总结2015
2015/04/09 职场文书
2015年学校党建工作总结
2015/05/19 职场文书
新学期主题班会
2015/08/17 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python
SQL Server使用PIVOT与unPIVOT实现行列转换
2022/05/25 SQL Server