PHP 文件打開/讀取/關閉
- 上一頁 PHP 文件
- 下一頁 PHP 文件創建/寫入
在本節中,我們向您講解如何在服務器上打開、讀取以及關閉文件。
PHP Open File - fopen()
打開文件的更好的方法是通過 fopen() 函數。此函數為您提供比 readfile() 函數更多的選項。
在課程中,我們將使用文本文件 "webdictionary.txt":
AJAX = Asynchronous JavaScript and XML CSS = Cascading Style Sheets HTML = Hyper Text Markup Language PHP = PHP Hypertext Preprocessor SQL = Structured Query Language SVG = Scalable Vector Graphics XML = EXtensible Markup Language
fopen() 的第一個參數包含被打開的文件名,第二個參數規定打開文件的模式。如果 fopen() 函數未能打開指定的文件,下面的例子會生成一段消息:
實例
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fread($myfile,filesize("webdictionary.txt")); fclose($myfile); ?>
提示:我們接下來將學習 fread() 以及 fclose() 函數。
文件會以如下模式之一打開:
模式 | 描述 |
---|---|
r | 打開文件為只讀。文件指針在文件的開頭開始。 |
w | 打開文件為只寫。刪除文件的內容或創建一個新的文件,如果它不存在。文件指針在文件的開頭開始。 |
a | 打開文件為只寫。文件中的現有數據會被保留。文件指針在文件結尾開始。創建新的文件,如果文件不存在。 |
x | 創建新文件為只寫。返回 FALSE 和錯誤,如果文件已存在。 |
r+ | 打開文件為讀/寫、文件指針在文件開頭開始。 |
w+ | 打開文件為讀/寫。刪除文件內容或創建新文件,如果它不存在。文件指針在文件開頭開始。 |
a+ | 打開文件為讀/寫。文件中已有的數據會被保留。文件指針在文件結尾開始。創建新文件,如果它不存在。 |
x+ | 創建新文件為讀/寫。返回 FALSE 和錯誤,如果文件已存在。 |
PHP 讀取文件 - fread()
fread() 函數讀取打開的文件。
fread() 的第一個參數包含待讀取文件的文件名,第二個參數規定待讀取的最大字節數。
如下 PHP 代碼把 "webdictionary.txt" 文件讀至結尾:
fread($myfile,filesize("webdictionary.txt"));
PHP 關閉文件 - fclose()
fclose() 函數用于關閉打開的文件。
注釋:用完文件后把它們全部關閉是一個良好的編程習慣。您并不想打開的文件占用您的服務器資源。
fclose() 需要待關閉文件的名稱(或者存有文件名的變量):
<?php $myfile = fopen("webdictionary.txt", "r"); // some code to be executed.... fclose($myfile); ?>
PHP 讀取單行文件 - fgets()
fgets() 函數用于從文件讀取單行。
下例輸出 "webdictionary.txt" 文件的首行:
實例
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fgets($myfile); fclose($myfile); ?>
注釋:調用 fgets() 函數之后,文件指針會移動到下一行。
PHP 檢查 End-Of-File - feof()
feof() 函數檢查是否已到達 "end-of-file" (EOF)。
feof() 對于遍歷未知長度的數據很有用。
下例逐行讀取 "webdictionary.txt" 文件,直到 end-of-file:
實例
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); // 輸出單行直到 end-of-file while(!feof($myfile)) { echo fgets($myfile) . "<br>"; } fclose($myfile); ?>
PHP 讀取單字符 - fgetc()
fgetc() 函數用于從文件中讀取單個字符。
下例逐字符讀取 "webdictionary.txt" 文件,直到 end-of-file:
實例
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); // 輸出單字符直到 end-of-file while(!feof($myfile)) { echo fgetc($myfile); } fclose($myfile); ?>
注釋:在調用 fgetc() 函數之后,文件指針會移動到下一個字符。
PHP Filesystem 參考手冊
如需完整的 PHP 文件系統參考手冊,請訪問 CodeW3C.com 提供的 PHP Filesystem 參考手冊。
- 上一頁 PHP 文件
- 下一頁 PHP 文件創建/寫入