2017-10-10 70 views
2

這是我的問題。我試圖抓住HTML文件。但這個文件有350 MB大小。當我試圖加載它與file_get_contents和使用DOM它不顯示任何輸出。只是一個白色的背景。當我嘗試使用小文件時,它是有效的。我爲什麼要這樣做。抓取時無法加載太大的html文件

<?php 

// error_reporting(E_ALL); 
// ini_set('display_errors', 1); 
ini_set('max_execution_time',5000); 

$source=file_get_contents("C://xampp/htdocs/Champion/machine- 
logs/LogPrinting03/RIPLOG.HTML"); 
$dom = new DOMDocument(); 

$dom->loadHTML($source); 

echo $source; 

?> 
+2

它可能'默認memory_limit'這將是64MB或128MB取決於服務器。您需要啓用錯誤報告,這樣您纔會看到錯誤,而不僅僅是一個白頁! – teeyo

+0

哦,是的,它是因爲memory_limit,我在本地服務器嘗試過。那麼解決方案是什麼。 –

+0

你可以通過配置** php.ini **文件來改變它,就像你使用'ini_set'或globaly所做的一樣,嘗試使用我的答案 – teeyo

回答

2

嘗試使用下面的代碼,以增加內存限制在php.ini或本地爲您的應用程序:

// I'm setting the memory limit to 1024M, but it should work with less memory 
ini_set('memory_limit','1024M'); 
// Enable error reporting - TO BE REMOVED BEFORE YOU GO TO PRODUCTION 
error_reporting(E_ALL); 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE); 
ini_set('max_execution_time',5000); 

$source=file_get_contents("C://xampp/htdocs/Champion/machine- 
logs/LogPrinting03/RIPLOG.HTML"); 
$dom = new DOMDocument(); 

$dom->loadHTML($source); 

echo $source; 
+0

中的代碼,但它會說,允許的內存大小爲536870912個字節。 –

+0

這意味着你的腳本需要超過512MB,如果你有足夠的內存嘗試1024MB – teeyo

+1

好的謝謝你的答案 –