fgets — 從檔案指標讀取一行
說明
string fgets ( resource $handle [, int $length ] )
從檔案指標讀取一行。
參數
handle 檔案指標必須是有效的,必須指向由 fopen() 或 fsockopen() 成功開啟的檔案(並尚未由 fclose() 關閉)。
length 從 handle 指向的檔案中讀取一行並回傳長度最多為 length - 1 位元組的字串。碰到換行符號(包括在回傳值中)、EOF 或已經讀取了 length - 1 位元組後停止(看先碰到那一種情況)。如果沒有指定 length,則預設為 1K,或說 1024 位元組。
Note:
從 PHP 4.3 開始,忽略掉 length 則行的長度被假定為 1024,並且將繼續從流中讀取資料直到行結束。如果檔案中的大多數行都大於 8KB,則在腳本中指定最大行的長度在利用資源上更為有效。
傳回值
從指標 handle 所指向的檔案中讀取了 length - 1 位元組後傳回字串。 如果檔案指標中沒有更多的資料了則傳回 FALSE 。
錯誤發生時傳回 FALSE 。
fgets()函數範例, 逐行讀取檔案,程式碼如下
<?php $handle = @ fopen ( "/tmp/inputfile.txt" , "r" ); if ( $handle ) { while (( $buffer = fgets ( $handle , 4096 )) !== false ) { echo $buffer ; } if (! feof ( $handle )) { echo "Error: unexpected fgets() fail\n" ; } fclose ( $handle ); } ?>
getss — 從檔案指標中讀取一行並過濾掉HTML 標記
說明
string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )
和fgets() 相同,只除了fgetss() 嘗試從讀取的文字中去掉任何HTML 和PHP 標記。
參數
handle 檔案指標必須是有效的,必須指向 fopen() 或 fsockopen() 成功開啟的檔案(並未由 fclose() 關閉)。
length 取回該長度的資料。
allowable_tags 可以用可選的第三個參數指定哪些標記不會被移除。
返回值
從 handle 指向的檔案中大讀取 length - 1 個位元組的字符,並過濾了所有的 HTML 和 PHP 程式碼。
getss ()函數範例,一行行讀取一個 PHP 文件,程式碼如下
<?php $str = <<<EOD <html><body> <p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p> </body></html> Text outside of the HTML block. EOD; file_put_contents ( 'sample.php' , $str ); $handle = @ fopen ( "sample.php" , "r" ); if ( $handle ) { while (! feof ( $handle )) { $buffer = fgetss ( $handle , 4096 ); echo $buffer ; } fclose ( $handle ); } ?>
輸出結果:
Welcome! Today is the of .Text outside of the HTML block.
以上是php fgets()函數與fgetss()函數使用說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!