PHP 檔案讀取 fread、fgets、fgetc、file_get_contents 與 file 函數的使用實例程式碼

怪我咯
發布: 2023-03-13 13:38:02
原創
2108 人瀏覽過

fread()、fgets()、fgetc()、file_get_contents() 與 file() 函數用於從檔案讀取內容。

fread()

fread() 函數用於讀取檔案(可安全地用於二進位檔案)。

語法:

string fread( int handle, int length )
登入後複製

fread() 從檔案指標 handle 讀取最多 length 個位元組。當遇到下列任何一種情況時,會停止讀取檔案:

  • ##在讀取完最多length 個位元組數時

  • 達到檔案結尾的時候(EOF)

  • (對於網路流)當一個套件可用時

  • 或(在開啟使用者空間流之後)已讀取了8192 個位元組時

從檔案讀取10 個位元組(包括空格):

<?php
$filename = "data.txt";
$fh = fopen($filename, "r");
echo fread($fh, "10");
fclose($fh);
?>
登入後複製
提示

如果只是想將一個檔案的內容讀入到一個

字串中,應該用表現較好的 file_get_contents() 。

fgets()

fgets() 函數用於從檔案讀取 

一行 數據,並將檔案指標指向下一行。

提示:如果想在讀取的時候去掉檔案中的 HTML 標記,請使用

fgetss() 函數。

語法:

string fgets( int handle [, int length] )
登入後複製
fgets() 從 handle 指向的檔案中讀取一行並傳回長度最多為 length-1 位元組的字串。碰到換行符號(包括在返回值中)、EOF 或已經讀取了 length-1 位元組後停止。如果沒有指定 length ,則預設為 1K ,或說 1024 位元組。

範例:

<?php
$fh = @fopen("data.txt","r") or die("打开 data.txt 文件出错!");
// if条件避免无效指针
if($fh){
    while(!feof($fh)) {
        echo fgets($fh), &#39;<br />';
    }
}
fclose($fh);
?>
登入後複製
補充說明

feof() 函數測試檔案指標是否到了檔案結束的位置,該檔案指標必須有效,如果是無效的資源,則會陷入無限循環。請參閱《PHP 檔案指標函數》

fgetc()

fgetc() 函數用於 

逐字 讀取檔案數據,直到檔案結束。

语法:

string fgetc( resource handle )
登入後複製

例子:

<?php
$fh = @fopen("data.txt","r") or die("打开 data.txt 文件出错!");
if($fh){
    while(!feof($fh)) {
        echo fgetc($fh);
    }
}
fclose($fh);
?>
登入後複製

file_get_contents()

file_get_contents() 函数用于把 整个文件 读入一个字符串,成功返回一个字符串,失败则返回 FALSE。

语法:

string file_get_contents( string filename [, int offset [, int maxlen]] )
登入後複製
参数说明:
参数 说明
filename 要读取的文件名称
offset 可选,指定读取开始的位置,默认为文件开始位置
maxlen 可选,指定读取文件的长度,单位字节

例子:

<?php
// 读取时同事将换行符转换成 <br />
echo nl2br(file_get_contents('data.txt'));
?>
登入後複製

file()

file() 函数用于把 整个文件 读入一个数组中,数组中的每个单元都是文件中相应的一行,包括换行符在内。成功返回一个数组,失败则返回 FALSE。

语法:

array file( string filename )
登入後複製

例子:

<?php
$lines = file(&#39;data.txt&#39;);
// 在数组中循环并加上行号
foreach ($lines as $line_num => $line) {
    echo "Line #{$line_num} : ",$line,'<br />';
}
?>
登入後複製

test.txt 文件内容:

你好!
这是第二行文字。
登入後複製

浏览器显示:

Line #0 : 你好! 
Line #1 : 这是第二行文字。
登入後複製

以上是PHP 檔案讀取 fread、fgets、fgetc、file_get_contents 與 file 函數的使用實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板