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