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在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
PHP4之COOKIE支持详解
Oct 09 PHP
教你如何把一篇文章按要求分段
Oct 09 PHP
在PWS上安装PHP4.0正式版
Oct 09 PHP
用缓存实现静态页面的测试
Dec 06 PHP
比较全的PHP 会话(session 时间设定)使用入门代码
Jun 05 PHP
提高php运行速度的一些小技巧分享
Jul 03 PHP
你可能不知道PHP get_meta_tags()函数
May 12 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
Laravel框架用户登陆身份验证实现方法详解
Sep 14 PHP
Laravel框架FormRequest中重写错误处理的方法
Feb 18 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
Mar 27 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
中英文字符串翻转函数
2008/12/09 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
使用weixin-java-tools完成微信授权登录、微信支付的示例
2018/09/26 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
python实现保存网页到本地示例
2014/03/16 Python
Python语法快速入门指南
2015/10/12 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
python实现微信自动回复及批量添加好友功能
2019/07/03 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
Python collections模块的使用方法
2020/10/09 Python
python处理写入数据代码讲解
2020/10/22 Python
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
写给老婆的检讨书
2014/02/21 职场文书
房产继承公证书
2014/04/09 职场文书
社区矫正工作方案
2014/06/04 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
python 远程执行命令的详细代码
2022/02/15 Python
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫