本文實例講述了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