本文实例讲述了PHP检查文件是否存在,不存在自动创建及读取文件内容操作。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?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一个钟头,不用生成
}
}
?>
|
1
2
3
4
5
6
7
8
9
10
11
12
|
<?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 );
?>
|
读取文件内容
1
2
3
4
5
6
7
8
9
10
|
<?php
$handle = @ fopen ( "/tmp/inputfile.txt" , "r" );
if ( $handle ) {
while (! feof ( $handle )) {
$buffer = fgets ( $handle , 4096);
echo $buffer ;
}
fclose( $handle );
}
?>
|
附加说明:
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程序设计有所帮助。
原文链接:https://blog.csdn.net/luyaran/article/details/55094813