PHP检查文件是否存在,不存在自动创建及读取文

本文实例讲述了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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3869.html