在PHP中讀寫文件,可以用到一下內置函數:
1.fopen(創建文件和打開文件)
語法:
1
|
fopen (filename,mode) |
filename,規定要打開的文件。mode,打開文件的模式,可能的值見下表。
mode | 說明 |
---|---|
"r" | 只讀方式打開,將文件指針指向文件開頭。 |
"r+" | 讀寫方式打開,將文件指針指向文件開頭。 |
"w" | 寫入方式打開,將文件指針指向文件開頭并將文件大小截為零。如果文件不存在則嘗試創建。 |
"w+" | 讀寫方式打開,將文件指針指向文件開頭并將文件大小截為零。如果文件不存在則嘗試創建。 |
"a" | 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建。 |
"a+" | 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建。 |
如果成功打開文件,fopen函數的返回值是一個文件指針,如果出錯,返回 FALSE。
示例:
1
2
3
|
<?php $fp = fopen ( "test.txt" , "r" ); ?> |
2.fclose(關閉文件)
語法:
1
|
fclose(filepointer) |
filepointer,要關閉的文件指針。如果成功,fclose 函數返回 TRUE,如果失敗,fclose 函數返回 FALSE。
示例:
1
2
3
4
|
<?php $fp = fopen ( "test.txt" , "r" ); fclose( $fp ); ?> |
3.feof(檢測是否已到達文件末尾)
語法:
1
|
feof (filepointer) |
filepointer,要檢測的文件指針,該指針必須指向成功打開沒有關閉的文件。如果文件指針到了文件末尾或者出錯時,feof函數返回 TRUE。
示例:
1
2
3
4
5
6
7
8
|
<?php $fp = fopen ( "test.txt" , "r" ); while (! feof ( $fp )) { echo fgets ( $fp ). "<br />" ; } fclose( $fp ); ?> |
4.fgets(從文件指針中讀取一行)
語法:
1
|
fgets (filepointer) |
filepointer,要讀取的文件指針。如果成功,從文件中讀取一行并返回字符串,如果失敗,返回 FALSE。
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php $fp = fopen ( "test.txt" , "r" ); if ( $fp ) { for ( $i =1;! feof ( $fp ); $i ++) { echo "行" . $i . " : " . fgets ( $fp ). "<br />" ; } } else { echo "打開文件失敗" ; } fclose( $fp ); ?> |
假設test.txt的內容為:
hello world
hello cnblogs
hello heihaozi
hello everyone
頁面輸出的結果為:
行1 : hello world
行2 : hello cnblogs
行3 : hello heihaozi
行4 : hello everyone
5.fwrite(寫入文件)
語法:
1
|
fwrite(filepointer,string) |
filepointer,要寫入的文件指針。string,要寫入的字符串。如果成功,返回寫入的字符數,如果失敗,返回 FALSE。
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?php $fp = fopen ( "test.txt" , "w" ); //文件被清空后再寫入 if ( $fp ) { $count =0; for ( $i =1; $i <=5; $i ++) { $flag =fwrite( $fp , "行" . $i . " : " . "Hello World!\r\n" ); if (! $flag ) { echo "寫入文件失敗<br>" ; break ; } $count += $flag ; } echo "共寫入" . $count . "個字符" ; } else { echo "打開文件失敗" ; } fclose( $fp ); ?> |
頁面輸出的結果為:
共寫入100個字符
test.txt文件會被寫入:
行1 : Hello World!
行2 : Hello World!
行3 : Hello World!
行4 : Hello World!
行5 : Hello World!
注:為了簡化操作,部分函數的可選參數沒有列出。
以上就是如何在PHP中讀寫文件的詳細內容,更多關于PHP中讀寫文件的資料請關注服務器之家其它相關文章!
原文鏈接:https://www.cnblogs.com/heihaozi/archive/2011/10/20/php_file.html