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);
?>
读取文件内容
<pre class="php" name="code"><?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 以及以后的版本所支持,仅能用于本地文件。


版权声明:本文为bulongwind原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。