最新的Web開發教程
 

PHP 5文件打開/讀取/關閉


在本章中,我們將教你如何打開,讀取,並關閉該服務器上的文件。


PHP打開文件- 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()函數將在下面解釋。

該文件可能會在以下幾種模式之一打開:

Modes Description
r Open a file for read only . File pointer starts at the beginning of the file
w Open a file for write only . Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file
a Open a file for write only . The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist
x Creates a new file for write only . Returns FALSE and an error if file already exists
r+ Open a file for read/write . File pointer starts at the beginning of the file
w+ Open a file for read/write . Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file
a+ Open a file for read/write . The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist
x+ Creates a new file for read/write . Returns FALSE and an error if file already exists

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);
?>
運行示例»

Note:在通話結束後fgets()函數,文件指針移動到下一行。


PHP檢查檔案結尾- feof()

feof()函數檢查"end-of-file" (EOF)已經達成。

所述feof()函數是用於通過未知長度的數據循環是有用的。

下面的例子中讀取"webdictionary.txt"按行文件中的行,當達到-的文件結束為止:

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one line until end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
運行示例»

PHP讀取單個字符- fgetc()

fgetc()函數是用來從文件中讀取的單個字符。

下面的例子中讀取"webdictionary.txt"由字符文件的字符,當達到-的文件結束為止:

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one character until end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>
運行示例»

Note:在通話結束後fgetc()函數,文件指針移動到下一個字符。


完整的PHP文件系統參考

對於文件系統功能的完整參考,請給我們完整的PHP文件系統參考