程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 解決php中file_get_contents 讀取大文件返回false問題

解決php中file_get_contents 讀取大文件返回false問題

編輯:關於PHP編程

file_get_contents文件是用來讀寫文件的,但我發現用file_get_contents 讀取大文件出錯提示Note: string can be as large as 2GB了,這個就是不能超過2G了,有沒有辦法解決呢,下面我來一起來看。

如果我讀取一個 www.bKjia.c0m文件

 代碼如下 復制代碼

$u ='www.bKjia.c0m'; //此文件為100GB

$a =file_get_contents( $u );

運行提示

Note: string can be as large as 2GB

不能大於2GB了,我們去官方看此函數參考


string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )

發現有個

 file_get_contents() 把文件讀入一個字符串。將在參數 offset 所指定的位置開始讀取長度為 maxlen 的內容。如果失敗, file_get_contents() 將返回 FALSE。


原來如此,這樣我們對程序進行修改即可

 代碼如下 復制代碼

$u ='www.bKjia.c0m'; //此文件為100GB

$a =file_get_contents( $u,100,1000 );

讀取成功了

總結

file_get_contents如果正常返回,會把文件內容儲存到某個字符串中,所以它不應該返回超過2G長度的字符串。

如果文件內容超過2G,不加offset和maxlen調用file_get_contents的話,肯定會返回false,

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved