php如何將檔案全部資料存入一個字串中
在之前的文章中我們介紹了一次性讀取整個文件,獲取全部數據的方法,感興趣的可以點擊鏈接查看《php文件操作之如何一次性獲得文件的全部數據 》。今天我們再介紹一個一次讀取整個檔案的方法,有需要的可以參考參考。
今天要介紹給大家的方法,不僅可以一次讀取整個文件,還可以將讀取的文件內容存入一個字串中,是不是很神奇。這就要用到一個PHP內建函數file_get_contents(),今天就來了解這個函數。
還是以「test.txt」檔案為例,該檔案裡面的內容為:
#我們先來看看如何使用file_get_contents()函數讀取文件,將內容存入字串中。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filestr = file_get_contents($file); if($filestr){ echo $filestr; }else{ echo '读取失败!'; } ?>
輸出結果:
可以看出,不需要開啟或關閉檔案動作,直接使用「file_get_contents($file )
」語句就可以一次讀取整個檔案了,這一點和之前介紹的readfile()函數很像,但它們還是有所不同的:file_get_contents()函數會將讀取的資料存入一個字串中,而readfile()函數是存入輸出緩衝。
因此readfile()函數不需要echo、print等輸出語句就可以輸出,直接「readfile($file);
」就行;而file_get_contents()函數需要藉助輸出語句才能將讀取的內容進行輸出,「echo file_get_contents($file)
」。
下面我們來具體了解file_get_contents()函數的用法:
file_get_contents($filename,$include_path,$context,$offset,$max_length)
函數只有一個必要參數$filename
(要讀取的文件,可以是文件名,也可以是文件路徑),但有4個可省略的參數:$include_path
(預設值FALSE )、$context
(檔案句柄環境,值可為NULL)、$offset
(開始讀取的位置)、$max_length(讀取位元組數)。
其中,不能對遠端檔案使用$offset
參數;如果省略$max_length
參數,則會和上面範例那樣,預設讀取檔案的全部內容。
下面我們來看看$offset
和$max_length
參數。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filestr1 = file_get_contents($file,FALSE,NULL,3); echo $filestr1; $filestr2 = file_get_contents($file,FALSE,NULL,0,15); echo "<br>".$filestr2; ?>
輸出結果:
可以看出,$max_length
參數設定為15,卻只取得了7個字符,這是為什麼呢?
那是因為:在file_get_contents()函數中一個 UTF-8 編碼的漢字佔三個字元長度。而如果設定的獲取長度不夠,無法取得到的那個中文字符,就會顯示為?
號。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filestr1 = file_get_contents($file,FALSE,NULL,6); echo $filestr1; $filestr2 = file_get_contents($file,FALSE,NULL,0,16); echo "<br>".$filestr2; $filestr3 = file_get_contents($file,FALSE,NULL,0,18); echo "<br>".$filestr3; ?>
輸出結果:
好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →php影片教學
最後給大家推薦閱讀一個經典課程《PHP字串處理(玉女心經版)》,免費的~快來學習啊!
以上是php如何將檔案全部資料存入一個字串中的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

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

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

CakePHP 是 PHP 的開源框架。它旨在使應用程式的開發、部署和維護變得更加容易。 CakePHP 基於類似 MVC 的架構,功能強大且易於掌握。模型、視圖和控制器 gu

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

CakePHP 是一個開源MVC 框架。它使應用程式的開發、部署和維護變得更加容易。 CakePHP 有許多函式庫可以減少大多數常見任務的過載。

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲
