效率較高的php下讀取文本文件的代碼 原創(chuàng)
原創(chuàng) 更新時(shí)間:2008年07月02日 13:27:46 原創(chuàng) 作者:
主要用下面這兩個(gè)方法fread和 fgets的區(qū)別大家需要注意下
fread :以字節(jié)位計(jì)算長(zhǎng)度,按照指定的長(zhǎng)度和次數(shù)讀取數(shù)據(jù),遇到結(jié)尾或完成指定長(zhǎng)度讀取后停止.
fgets :整行讀取,遇到回車換行或結(jié)尾停止.在文本方式時(shí)使用.
讀字符串函數(shù)fgets函數(shù)的功能是從指定的文件中讀一個(gè)字符串到字符數(shù)組中,
函數(shù)調(diào)用的形式為:
fgets(字符數(shù)組名,n,文件指針);
其中的n是一個(gè)正整數(shù)。
表示從文件中讀出的字符串不超過(guò) n-1個(gè)字符。
在讀入的最后一個(gè)字符后加上串結(jié)束標(biāo)志'\0'。
例如:fgets(str,n,fp);的意義是從fp所指的文件中讀出n-1個(gè)字符送入字符數(shù)組str中。
按行讀?。ゝgets()每次讀入一行就會(huì)指向下一行.
所以把前面10行讀進(jìn)去了就清除.
然后下一次fgets()就是第十一行了.
fgets()怎么每次都是讀一行?你怎么設(shè)定?
fread是用于整塊數(shù)據(jù)的讀寫(xiě)函數(shù),可用來(lái)讀寫(xiě)一組數(shù)據(jù),如一個(gè)數(shù)組元素,一個(gè)結(jié)構(gòu)變量的值等。
讀數(shù)據(jù)塊函數(shù)調(diào)用的一般形式為:
fread(buffer,size,count,fp),其中buffer是一個(gè)指針,
在fread函數(shù)中,它表示存放輸入數(shù)據(jù)的首地址。
size 表示數(shù)據(jù)塊的字節(jié)數(shù)。
count 表示要讀寫(xiě)的數(shù)據(jù)塊塊數(shù)。
fp 表示文件指針。
例如: fread(fa,4,5,fp); 其意義是從fp所指的文件中,每次讀4
fread -- 讀取文件(可安全用于二進(jìn)制文件)
在區(qū)分二進(jìn)制文件和文本文件的系統(tǒng)上(如 Windows)打開(kāi)文件時(shí),
fopen() 函數(shù)的 mode 參數(shù)要加上 'b'。
$handle = fopen($filename, "rb");
本人使用的方法,如果你有好的方法,大家分享下啊
<?php
$handle = @fopen($path, "r");
if ($handle) {
$buffer = fread($handle, 400);
echo $buffer;
fclose($handle);
}
?>
fgets :整行讀取,遇到回車換行或結(jié)尾停止.在文本方式時(shí)使用.
讀字符串函數(shù)fgets函數(shù)的功能是從指定的文件中讀一個(gè)字符串到字符數(shù)組中,
函數(shù)調(diào)用的形式為:
fgets(字符數(shù)組名,n,文件指針);
其中的n是一個(gè)正整數(shù)。
表示從文件中讀出的字符串不超過(guò) n-1個(gè)字符。
在讀入的最后一個(gè)字符后加上串結(jié)束標(biāo)志'\0'。
例如:fgets(str,n,fp);的意義是從fp所指的文件中讀出n-1個(gè)字符送入字符數(shù)組str中。
按行讀?。ゝgets()每次讀入一行就會(huì)指向下一行.
所以把前面10行讀進(jìn)去了就清除.
然后下一次fgets()就是第十一行了.
fgets()怎么每次都是讀一行?你怎么設(shè)定?
fread是用于整塊數(shù)據(jù)的讀寫(xiě)函數(shù),可用來(lái)讀寫(xiě)一組數(shù)據(jù),如一個(gè)數(shù)組元素,一個(gè)結(jié)構(gòu)變量的值等。
讀數(shù)據(jù)塊函數(shù)調(diào)用的一般形式為:
fread(buffer,size,count,fp),其中buffer是一個(gè)指針,
在fread函數(shù)中,它表示存放輸入數(shù)據(jù)的首地址。
size 表示數(shù)據(jù)塊的字節(jié)數(shù)。
count 表示要讀寫(xiě)的數(shù)據(jù)塊塊數(shù)。
fp 表示文件指針。
例如: fread(fa,4,5,fp); 其意義是從fp所指的文件中,每次讀4
fread -- 讀取文件(可安全用于二進(jìn)制文件)
在區(qū)分二進(jìn)制文件和文本文件的系統(tǒng)上(如 Windows)打開(kāi)文件時(shí),
fopen() 函數(shù)的 mode 參數(shù)要加上 'b'。
$handle = fopen($filename, "rb");
本人使用的方法,如果你有好的方法,大家分享下啊
復(fù)制代碼 代碼如下:
<?php
$handle = @fopen($path, "r");
if ($handle) {
$buffer = fread($handle, 400);
echo $buffer;
fclose($handle);
}
?>
您可能感興趣的文章:
- PHP 讀取文本文件內(nèi)容并分頁(yè)顯示
- PHP讀取txt文本文件并分頁(yè)顯示的方法
- PHP快速按行讀取CSV大文件的封裝類分享(也適用于其它超大文本文件)
- php 文本文件的讀取效率
- PHP中substr_count()函數(shù)獲取子字符串出現(xiàn)次數(shù)的方法
- php獲取字符串中各個(gè)字符出現(xiàn)次數(shù)的方法
- php查找字符串出現(xiàn)次數(shù)的方法
- php中計(jì)算未知長(zhǎng)度的字符串哪個(gè)字符出現(xiàn)的次數(shù)最多的代碼
- PHP讀取文本文件并逐行輸出該行使用最多的字符與對(duì)應(yīng)次數(shù)的方法
相關(guān)文章
php找出指定范圍內(nèi)回文數(shù)且平方根也是回文數(shù)的方法
這篇文章主要介紹了php找出指定范圍內(nèi)回文數(shù)且平方根也是回文數(shù)的方法,實(shí)例分析了php判斷回文的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03php heredoc和phpwind的模板技術(shù)使用方法小結(jié)
Heredoc技術(shù),在正規(guī)的PHP文檔中和技術(shù)書(shū)籍中一般沒(méi)有詳細(xì)講述,只是提到了這是一種Perl風(fēng)格的字符串輸出技術(shù)。但是現(xiàn)在的一些論壇程序,和部分文章系統(tǒng),都巧妙的使用heredoc技術(shù),來(lái)部分的實(shí)現(xiàn)了界面與代碼的準(zhǔn)分離,phpwind就是一個(gè)典型的例子。2008-03-03php實(shí)現(xiàn)簡(jiǎn)單的MVC框架實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)簡(jiǎn)單的MVC框架,較為詳細(xì)的分析了php實(shí)現(xiàn)MVC框架的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09ThinkPHP6使用最新版本Endroid/QrCode生成二維碼的方法實(shí)例
這篇文章主要介紹了ThinkPHP6使用最新版本Endroid/QrCode生成二維碼的方法,結(jié)合實(shí)例形式詳細(xì)分析了ThinkPHP6使用最新版本Endroid/QrCode生成二維碼具體步驟、原理、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2023-07-07PHP同時(shí)連接多個(gè)mysql數(shù)據(jù)庫(kù)示例代碼
這篇文章主要介紹了PHP同時(shí)連接多個(gè)mysql數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn),需要的朋友可以參考下2014-03-03