国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 後端開發(fā) php教程 php檔案操作之逐行讀取文件

php檔案操作之逐行讀取文件

Aug 03, 2021 pm 05:09 PM
php 文件 讀取文件 逐行讀取

在上一篇的文章《php檔案操作之逐個字元讀取檔案》中我們介紹了讀取檔案的一種方法:逐個字元讀取檔案。這篇文章我們再帶大家了解一種讀取文件的方法:逐行讀取文件,看看如何逐行讀取文件內(nèi)容並輸出,一起來學習吧。

有一個名為「test.txt」的文字文件,裡面的內(nèi)容是:

php檔案操作之逐行讀取文件

#我們要如何逐行讀取檔案中的內(nèi)容並輸出?簡單,今天我們就來跟大家介紹兩種方法。

方法1:使用fgets()函數(shù)

我們來看看程式碼範例:

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打開文件
if (!$handle) {                                     //判斷文件是否打開成功
    echo &#39;文件打開失??!&#39;;
}
while (false !== ($char = fgets($handle,1024))) {        //循環(huán)讀取文件內(nèi)容
    echo $char."<br>";
}
fclose($handle);                                    //關(guān)閉文件
?>

輸出結(jié)果:

php檔案操作之逐行讀取文件

關(guān)鍵函數(shù)分析:

fgets()函數(shù)用於從開啟的檔案中讀取一行數(shù)據(jù),接受一個必要參數(shù) $file(被開啟的檔案)和一個可選參數(shù)$length(要讀取的位元組數(shù));如果省略了$length 參數(shù),則預(yù)設(shè)讀取1k(即1024位元組)長度。

fgets()函數(shù)在遇到換行符號、EOF(讀到檔案結(jié)尾)或到達指定長度$length-1?後停止(傳回字串長度最大值為?$length-1?個位元組)。

如果我們不知道檔案中有多少數(shù)據(jù),可以使用filesize()函數(shù)來獲取,該函數(shù)可以傳回指定檔案的大?。ㄎ辉M數(shù))。

所以上面的程式碼範例可以修改一下:

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$url = &#39;./test.txt&#39;;
$handle = fopen($url, &#39;r&#39;);                 //打開文件 
$size= filesize($url);                  //計算文件大小
if (!$handle) {                                     //判斷文件是否打開成功
    echo &#39;文件打開失??!&#39;;
}
while (false !== ($char = fgets($handle,$size))) {        //循環(huán)讀取文件內(nèi)容
    echo $char."<br>";
}
fclose($handle);                                    //關(guān)閉文件
?>

輸出結(jié)果和上面是一樣的。

方法2:使用fgetss()函數(shù)

我們來看看程式碼範例:

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打開文件
if (!$handle) {                                     //判斷文件是否打開成功
    echo &#39;文件打開失??!&#39;;
}
while (false !== ($char = fgetss($handle,1024))) {        //循環(huán)讀取文件內(nèi)容
    echo $char."<br>";
}
fclose($handle);                                    //關(guān)閉文件
?>

輸出結(jié)果:

php檔案操作之逐行讀取文件

關(guān)鍵函數(shù)分析:

fgetss()函數(shù)和fgets()函數(shù)相似,都可以從開啟的檔案中讀取一行數(shù)據(jù),不同的是fgetss()函數(shù)會過濾掉資料中的HTML 和PHP 標籤。

fgetss() 函數(shù)接受一個必要參數(shù)$file、兩個可選參數(shù)$length$tags。參數(shù)$file和$length在fgets()函數(shù)中介紹過來,大家可以去上文了解。而參數(shù)$tags是用來指定哪些標記不被去掉,我們透過一個例子來具體了解一下:

php檔案操作之逐行讀取文件

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打開文件
if (!$handle) {                                     //判斷文件是否打開成功
    echo &#39;文件打開失?。?amp;#39;;
}
while (false !== ($char = fgetss($handle,1024,"<h1>,<em>"))) {        //循環(huán)讀取文件內(nèi)容
    echo $char."<br>";
}
fclose($handle);                                    //關(guān)閉文件
?>

在上面的程式碼中,我們設(shè)定參數(shù)$tags的值為“<h1>,<em></em> </h1>”,也就是不過濾<h1></h1><em></em>標籤,因此輸出結(jié)果:

php檔案操作之逐行讀取文件

注意:在操作完檔案後,要記得使用fclose()函數(shù)來關(guān)閉檔案!

好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →PHP檔案基礎(chǔ)操作

#推薦:PHP面試題大匯總(收藏)》《php影片教學

以上是php檔案操作之逐行讀取文件的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應(yīng)的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

我如何了解最新的PHP開發(fā)和最佳實踐? 我如何了解最新的PHP開發(fā)和最佳實踐? Jun 23, 2025 am 12:56 AM

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

什麼是PHP,為什麼它用於Web開發(fā)? 什麼是PHP,為什麼它用於Web開發(fā)? Jun 23, 2025 am 12:55 AM

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

如何設(shè)置PHP時區(qū)? 如何設(shè)置PHP時區(qū)? Jun 25, 2025 am 01:00 AM

tosetTherightTimeZoneInphp,restate_default_timezone_set()functionAtthestArtofyourscriptWithavalIdidentIdentifiersuchas'america/new_york'.1.usedate_default_default_timezone_set_set()

我如何驗證PHP中的用戶輸入以確保其符合某些標準? 我如何驗證PHP中的用戶輸入以確保其符合某些標準? Jun 22, 2025 am 01:00 AM

TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

什麼是php(serialize(),Unserialize())中的數(shù)據(jù)序列化? 什麼是php(serialize(),Unserialize())中的數(shù)據(jù)序列化? Jun 22, 2025 am 01:03 AM

thephpfunctionserize()andunSerialize()redustoconvertComplexdatStructDestoresToroStoroStoroSandaBackagagain.1.Serialize()

如何將PHP代碼嵌入HTML文件中? 如何將PHP代碼嵌入HTML文件中? Jun 22, 2025 am 01:00 AM

可以將PHP代碼嵌入HTML文件中,但需確保文件以.php為擴展名,以便服務(wù)器能正確解析。使用標準的標籤包裹PHP代碼,可在HTML中任意位置插入動態(tài)內(nèi)容。此外,可在同一文件中多次切換PHP與HTML,實現(xiàn)條件渲染等動態(tài)功能。務(wù)必注意服務(wù)器配置及語法正確性,避免因短標籤、引號錯誤或遺漏結(jié)束標籤導致問題。

編寫清潔和可維護的PHP代碼的最佳實踐是什麼? 編寫清潔和可維護的PHP代碼的最佳實踐是什麼? Jun 24, 2025 am 12:53 AM

寫乾淨、易維護的PHP代碼關(guān)鍵在於清晰命名、遵循標準、合理結(jié)構(gòu)、善用註釋和可測試性。 1.使用明確的變量、函數(shù)和類名,如$userData和calculateTotalPrice();2.遵循PSR-12標準統(tǒng)一代碼風格;3.按職責拆分代碼結(jié)構(gòu),使用MVC或Laravel式目錄組織;4.避免麵條式代碼,將邏輯拆分為單一職責的小函數(shù);5.在關(guān)鍵處添加註釋並撰寫接口文檔,明確參數(shù)、返回值和異常;6.提高可測試性,採用依賴注入、減少全局狀態(tài)和靜態(tài)方法。這些做法提升代碼質(zhì)量、協(xié)作效率和後期維護便利性。

如何使用PHP執(zhí)行SQL查詢? 如何使用PHP執(zhí)行SQL查詢? Jun 24, 2025 am 12:54 AM

Yes,youcanrunSQLqueriesusingPHP,andtheprocessinvolveschoosingadatabaseextension,connectingtothedatabase,executingqueriessafely,andclosingconnectionswhendone.Todothis,firstchoosebetweenMySQLiorPDO,withPDObeingmoreflexibleduetosupportingmultipledatabas

See all articles