如果直接使用file_get_contents來讀取文件,那么在文件很大的時候會很占內(nèi)容,比如這個文件有1GB的時候。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)解放免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
這個時候使用傳統(tǒng)的文件操作方式就好的多,因為是查找嘛,逐行讀取匹配應(yīng)該也是可以的,下面是我的一個建議,不知道是否滿足你的要求,可以看下:
//
需要查找的內(nèi)容
$search
=
'bcd';
//
打開文件
$res
=
fopen('a.txt',
'r');
while
($line
=
fgets($res,
1024))
{
//
根據(jù)規(guī)則查找
if
(strpos($line,
$search)
===
0)
{
//
根據(jù)既定規(guī)則取得需要的數(shù)據(jù)
echo
substr($line,
4,
-1);
//
這里就是你想得到的
break;
}
}
//
關(guān)閉文件
fclose($res);
利用PHP讀取文本文件的內(nèi)容,其實很簡單,我們只需要掌握函數(shù)“file_get_contents();”的使用就可以了。下面,小編將作詳細的介紹。
工具/原料
電腦一臺
WAMP開發(fā)環(huán)境
方法/步驟
file_get_content()函數(shù)介紹。使用file_get_contents()獲取txt文件的內(nèi)容,具體參數(shù)說明如下:
2
具體實例說明。從文本文件tst.txt中讀取里面的內(nèi)容并顯示在瀏覽器中,具體代碼和圖示如下:
?php
$file = 'tst.txt';
$content = file_get_contents($file); //讀取文件中的內(nèi)容
echo $content;
?
$content?=?file("test.txt");
$randContent?=?array_rand($content,5);
echo?implode("br?/",$randContent);
第一行使用file把把整個文件讀入一個數(shù)組中
第二行使用array_rand在數(shù)組中隨機取出5個元素
第三行將取出的5個數(shù)組中間添加br?/標簽并打印出來
file
把整個文件讀入一個數(shù)組中
file?(?string?$filename?,?int?$flags?=?0?,?resource?$context?=???)?:?array
array_rand
從數(shù)組中隨機取出一個或多個隨機鍵
array_rand?(?array?$array?,?int?$num?=?1?)?:?int|string|array
implode
將一個一維數(shù)組的值轉(zhuǎn)化為字符串
implode?(?string?$glue?,?array?$pieces?)?:?string
php讀取文件內(nèi)容:
-----第一種方法-----fread()--------
?php
$file_path = "test.txt";
if(file_exists($file_path)){
$fp = fopen($file_path,"r");
$str = fread($fp,filesize($file_path));//指定讀取大小,這里把整個文件內(nèi)容讀取出來
echo $str = str_replace("\r\n","br /",$str);
}
?
--------第二種方法------------
?php
$file_path = "test.txt";
if(file_exists($file_path)){
$str = file_get_contents($file_path);//將整個文件內(nèi)容讀入到一個字符串中
$str = str_replace("\r\n","br /",$str);
echo $str;
}
?
-----第三種方法------------
?php
$file_path = "test.txt";
if(file_exists($file_path)){
$fp = fopen($file_path,"r");
$str = "";
$buffer = 1024;//每次讀取 1024 字節(jié)
while(!feof($fp)){//循環(huán)讀取,直至讀取完整個文件
$str .= fread($fp,$buffer);
}
$str = str_replace("\r\n","br /",$str);
echo $str;
}
?
-------第四種方法--------------
?php
$file_path = "test.txt";
if(file_exists($file_path)){
$file_arr = file($file_path);
for($i=0;$icount($file_arr);$i++){//逐行讀取文件內(nèi)容
echo $file_arr[$i]."br /";
}
/*
foreach($file_arr as $value){
echo $value."br /";
}*/
}
?
----第五種方法--------------------
?php
$file_path = "test.txt";
if(file_exists($file_path)){
$fp = fopen($file_path,"r");
$str ="";
while(!feof($fp)){
$str .= fgets($fp);//逐行讀取。如果fgets不寫length參數(shù),默認是讀取1k。
}
$str = str_replace("\r\n","br /",$str);
echo $str;
}
?
當前名稱:php提取文本數(shù)據(jù) php讀取文本內(nèi)容
網(wǎng)頁地址:http://jinyejixie.com/article46/ddispeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、云服務(wù)器、微信公眾號、App開發(fā)、網(wǎng)站維護、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)