PHP檔案處理—如何讀取檔案(一行,整個檔案)
#相對開啟和關閉檔案來說,讀寫檔案更複雜一些。這裡主要從讀取資料和寫入資料兩方面進行講解。
那麼在上一篇文章《PHP文件處理—打開和關閉文件》中介紹了打開和關閉文件,打開文件是所有操作文件的前提,而關閉是所有操作文件的結尾,那我們今天就來介紹如何讀取文件!
從檔案讀取資料
從檔案讀取數據,可以讀取一個字元、一行字串或是整個文件,也可以讀取指定長度的字串。
1.讀取整個檔案:readfile()、flie()以及file_get_contents()三個函數,下面我們將一一介紹!
readfile()函數
readfile()函數用於讀入一個檔案並且將其寫入到輸出緩衝,如果發生錯誤則傳回 false。 函數語法格式如下:
int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )
使用 readfile()函數,不需要開啟檔案和關閉文件,也不需要 echo ,print等輸出語句,直接先寫出檔案路徑就可以了。
flie()函數
flie()函數也可以讀取整個檔案的內容,只是file()函數將檔案內容按行存放到陣列中,包括換行符在內,如果讀取失敗則傳回false。函數的語法格式如下:
array file ( string $filename [, int $flags = 0 [, resource $context ]] )
file_get_contents()函數
file_get_contents()函數將檔案的內容(fliename)讀入到一個字串中。如果沒有 offset 和 maxlen參數 ,將從參數offset所指定的位置開始讀取長度為 maxlen的字串。如果讀取失敗那麼就會回傳false。函數語法格式如下;
string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )
此函數適用於二進位文件,是講整個文件的內容讀入到一個字串中的首選方法。
下面的實例就是使用上面的三個函數分數來讀取檔案內容,具體程式碼如下:
<html> <body> <table width="500" border="1" cellpadding="0" cellspacing="0" > <tr> <td width="253" height="100" align="right" valign="middle" scope="col">使用 readfile()函数读取文件内容:</td> <td width="241" height="100" valign="middle" scope="col"> <!--使用 readfile()函数读取tm.txt文件内容--> <?php readfile("tm.txt");?></td> </tr> <tr> <td height="100" align="right" valign="middle">使用 file()函数读取文件内容:</td> <td height="100" valign="middle" > <!--使用 file()函数读取tm.txt文件内容--> <?php $f_arr = file("tm.txt"); foreach ($f_arr as $cont){ echo $cont."<br>"; } ?> </td> </tr> <tr> <td width="250" height="25" align="right" valign="middle" scope="col">使用flie_get_contents()函数读取文件内容:</td> <td height="25" valign="middle" align="center" scope="col" > <!--使用 flie_get_contents()函数读取tm.txt文件内容--> <?php $f_chr = file_get_contents("tm.txt"); echo $f_chr; ?> </td> </tr> </table> </body> </html>
輸出結果為:
2.讀取一行資料:fgets()函數與fgetss()函數
(1) fgets()函數
fgets()函數用於一次讀取一行資料。函數語法格式如下:
string fgets ( resource $handle [, int $length ] )
參數 handle 是被讀取的文件,參數length是要讀取的資料長度。函數能夠實作從 handle 指定檔案中讀取一行並傳回長度最大值為 length-1 個位元組的字串。在於帶換行符,EOF 或讀取了 length-1 個自己後停止。如果忽略 length-1 參數,那麼讀取資料直到行結束。
(2)fgetss()函數
fgetss()函數是fgets()函數的變體,用來讀取一行資料。同事,fgetss()函數會過濾掉被讀取內容中的 HTML 和 PHP標記。函數語法格式如下:
string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )
函數能夠從讀取的檔案中過濾掉任何 html 和 PHP 標記,可以使用 allowable_tags 參數來控制哪些標記不被過濾掉。
下面實例使用上面那個函數分別讀取一個文件,並顯示出來。觀察它們有什麼區別。具體程式碼如下:
<html> <body> <table border="1" cellpadding="0" cellspacing="0" > <tr> <td align="right" valign="middle" scope="col">使用fgets()函数:</td> <td valign="middle" scope="col" align="center"> <!--使用fgets()函数读取fun.php文件--> <?php $fopen = fopen("1.php","rb"); while (!feof($fopen)){ echo fgets($fopen); } fclose($fopen); ?></td> </tr> <tr> <td align="right" valign="middle">使用 fgetss()函数:</td> <td align="center" valign="middle" > <!--使用fgetss()函数读取--> <?php $fopen = fopen("1.php","rb"); while (!feof($fopen)){ echo fgetss($fopen); } fclose($fopen); ?></td> </tr> </table> </body> </html>
輸出結果為:
本篇介紹了兩種讀取文件的方法,一個是讀取整個文件,一個是讀取一行資料的,在下面一篇文章我將介紹讀取一個字元和指定長度的字符串,具體內容請閱讀《PHP檔案處理—讀取檔案(一個字元,字符串)》!
以上是PHP檔案處理—如何讀取檔案(一行,整個檔案)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

絕對會話超時從會話創建時開始計時,閒置會話超時則從用戶無操作時開始計時。絕對會話超時適用於需要嚴格控制會話生命週期的場景,如金融應用;閒置會話超時適合希望用戶長時間保持會話活躍的應用,如社交媒體。

服務器會話失效可以通過以下步驟解決:1.檢查服務器配置,確保會話設置正確。 2.驗證客戶端cookies,確認瀏覽器支持並正確發送。 3.檢查會話存儲服務,如Redis,確保其正常運行。 4.審查應用代碼,確保會話邏輯正確。通過這些步驟,可以有效診斷和修復會話問題,提升用戶體驗。

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

設置httponly標誌對會話cookie至關重要,因為它能有效防止XSS攻擊,保護用戶會話信息。具體來說,1)httponly標誌阻止JavaScript訪問cookie,2)在PHP和Flask中可以通過setcookie和make_response設置該標誌,3)儘管不能防範所有攻擊,但應作為整體安全策略的一部分。

phpsessions solvathepromblymaintainingStateAcrossMultipleHttpRequestsbyStoringDataTaNthEserVerAndAssociatingItwithaIniquesestionId.1)他們儲存了AtoredAtaserver side,通常是Infilesordatabases,InseasessessionIdStoreDistordStoredStoredStoredStoredStoredStoredStoreDoreToreTeReTrestaa.2)

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),