php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中

這篇文章主要講解了“php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中”吧!

創(chuàng)新互聯(lián)成立十年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供做網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)站策劃、網(wǎng)頁設(shè)計、域名與空間、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。

上篇文章中的方法,會在一行輸出文件的全部內(nèi)容,文件數(shù)據(jù)少還好,如果文件數(shù)據(jù)太多,例如:

php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中

使用file_get_contents()函數(shù)進(jìn)行讀取輸出:

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$file = 'test.txt';
$filestr = file_get_contents($file);
echo $filestr;
?>

輸出結(jié)果為

php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中

可以看出這樣輸出的內(nèi)容不利于閱讀了。那么怎么做可以逐行輸出文件全部內(nèi)容呢?可以借助數(shù)組。

可以先一次性讀取整個文件,并將數(shù)據(jù)逐行存入數(shù)組,每一行數(shù)據(jù)對應(yīng)一個數(shù)組元素即可。

我們來看看下面的代碼:

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$file = 'test.txt';
$filestr = file($file,FILE_IGNORE_NEW_LINES);
var_dump($filestr);
?>

輸出結(jié)果:

php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中

是不是便于閱讀了,且有時需要讀取全部內(nèi)容,但暫時只需要其中的一行數(shù)據(jù),就可以使用 數(shù)組名[下標(biāo)] 的形式來取指定行的數(shù)據(jù)。例如想要第三行的數(shù)據(jù),那么可以:

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$file = 'test.txt';
$filestr = file($file,FILE_IGNORE_NEW_LINES);
echo $filestr[2];  //數(shù)組下標(biāo)是從0開始的
?>

輸出結(jié)果:

php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中

下面我們來了解一下里面的關(guān)鍵函數(shù)file()。

file($filename,$flags,$context)函數(shù)接受一個必需參數(shù)$filename(要讀取的文件),兩個可省略的參數(shù)$flags$context(文件句柄的環(huán)境)。

但一般還是會設(shè)置$flags參數(shù)的,該參數(shù)可以是以下一個或多個常量:

  • FILE_USE_INCLUDE_PATH:在 include_path (在 php.ini 中)中查找文件,默認(rèn)為 FALSE;如果想,則設(shè)置參數(shù)值為 '1'。

  • FILE_IGNORE_NEW_LINES:在數(shù)組每個元素的末尾不要添加換行符;

  • FILE_SKIP_EMPTY_LINES:跳過空行。

例如上例,如果省略“FILE_IGNORE_NEW_LINES”,輸出會是這樣的:

php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中

而如果一個文件中包含空行:

php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中

使用上例中的代碼讀取文件,輸出結(jié)果為:

php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中

就可以設(shè)置“FILE_SKIP_EMPTY_LINES”來跳過空行,讀取下一行數(shù)據(jù)。

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$file = 'test.txt';
$filestr = file($file,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
var_dump($filestr);
?>

輸出結(jié)果為:

php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中

$flags參數(shù)如果設(shè)置多個常量值,需要使用|分隔。

感謝各位的閱讀,以上就是“php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

分享標(biāo)題:php如何逐行把整個文件數(shù)據(jù)存入數(shù)組中
當(dāng)前網(wǎng)址:http://muchs.cn/article36/ghespg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、企業(yè)建站、網(wǎng)站策劃、App開發(fā)品牌網(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)

網(wǎng)站托管運營