標籤:指令碼 函數返回 head type sub filename data- comm lock
PHP中對檔案的操作:建立、讀取、上傳、編輯。 PHP提過了多種相關的函數。
1、readfile()
int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )
參數:
- filename:檔案名稱。
- use_include_path:是否也在include_path中搜尋檔案。
- context:規定檔案控制代碼的環境。Context 是能夠改動流的行為的一套選項。
傳回值:返回從檔案裡讀入的位元組數。假設出錯返回 FALSE 而且除非是以 @readfile() 形式調用。否則會顯示錯誤資訊。
示範範例:
1.php和new.txt在同一個目錄
1.php內容:
<?phpecho @readfile("new.txt");?
>
new.txt內容:
It‘s a new file.
執行1.php結果:
It‘s a new file.16
2、fopen()
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
參數:
- filename:假設 filename 是 “scheme://…” 的格式,則被當成一個 URL,PHP 將搜尋協議處理器(也被稱為封裝協議)來處理此模式。假設該協議尚未注冊封裝協議,PHP 將發出一條訊息來協助檢查指令碼中潛在的問題並將 filename 當成一個普通的檔案名稱繼續執行下去。
;
- mode:指定了所要求到該流的訪問類型。
- use_include_path:是否也在include_path中搜尋檔案;
- context:規定檔案控制代碼的環境。
Context 是能夠改動流的行為的一套選項。
傳回值:
成功時返回檔案指標資源,假設開啟失敗,本函數返回 FALSE。
註:檔案訪問類型表
mode |
說明 |
“r” |
僅僅讀方式開啟,將檔案指標指向檔案頭。 |
“r+” |
讀寫方式開啟。將檔案指標指向檔案頭。 |
“w” |
寫入方式開啟。將檔案指標指向檔案頭並將檔案大小截為零。假設檔案不存在則嘗試建立之。 |
“w+” |
讀寫方式開啟,將檔案指標指向檔案頭並將檔案大小截為零。 假設檔案不存在則嘗試建立之。 |
“a” |
寫入方式開啟,將檔案指標指向檔案末尾。假設檔案不存在則嘗試建立之。 |
“a+” |
讀寫方式開啟,將檔案指標指向檔案末尾。假設檔案不存在則嘗試建立之。 |
“x” |
建立並以寫入方式開啟。將檔案指標指向檔案頭。假設檔案已存在。則 fopen() 調用失敗並返回 FALSE,並產生一條 E_WARNING 層級的錯誤資訊。假設檔案不存在則嘗試建立之。這和給底層的 open(2) 系統調用指定 O_EXCL |
“x+” |
建立並以讀寫方式開啟,將檔案指標指向檔案頭。假設檔案已存在,則 fopen() 調用失敗並返回 FALSE,並產生一條 E_WARNING 層級的錯誤資訊。假設檔案不存在則嘗試建立之。 這和給底層的 open(2) 系統調用指定 O_EXCL |
3、fread()
string fread ( resource $handle , int $length )
從檔案指標 handle 讀取最多 length 個位元組
參數:
- head:檔案系統指標,是典型地由 fopen() 建立的 resource(資源)。
- length:最多讀取 length 個位元組。
傳回值:
返回所讀取的字串。 或者在失敗時返回 FALSE。
4、fclose()
bool fclose ( resource $handle )
將指定檔案關閉(好習慣,降低server資源佔用)。檔案指標必須有效。而且是通過 fopen() 或 fsockopen() 成功開啟的。
5、fgets()
string fgets ( resource $handle [, int $length ] )
從檔案裡讀取一行資料。從 handle 指向的檔案裡讀取一行並返回長度最多為 length - 1 位元組的字串。
碰到分行符號(包含在傳回值中)、EOF 或者已經讀取了 length - 1 位元組後停止(看先碰到那一種情況)。假設沒有指定 length,則默覺得 1K,或者說 1024 位元組。
6、feof()
bool feof ( resource $handle )
測試檔案指標是否到了檔案結束的位置。
7、fgetc()
string fgetc ( resource $handle )
從檔案裡讀取單個字元。
8、fwrite()
int fwrite ( resource $handle , string $string [, int $length ] )
參數:
- handle:檔案系統指標。是典型地由 fopen() 建立的 resource(資源);
- string:要寫入的字串。
- length:假設指定了 length。當寫入了 length 個位元組或者寫完了 string 以後,寫入就會停止,視乎先碰到哪種情況。
傳回值:
fwrite() 返回寫入的字元數,出現錯誤時則返回 FALSE 。
9、一個超級簡單的評論牆
<html><head><title>評論牆</title></head><body><!--評論表單--><form method="post" action="<?php echo htmlspecialchars($_SERVER[‘PHP_SELF‘])?>">暱稱:<input type="text" name="name"></input><br />評論:<textarea rows=‘5‘ cols=‘19‘ name="comment"></textarea><br /><input type="submit" name="submit" value="提交">