2017-02-23 93 views
1

$myfile = fopen("lastupdate.txt", "r") or die("Unable to open file!"); echo fread($myfile,filesize("lastupdate.txt")); fclose($myfile);讀取文件多次

刷新頁面時慢這是我的WordPress插件我的PHP代碼。當我更新網站20次時,大約需要20秒才能加載單個頁面。如果沒有這3行代碼,它只需要1秒來加載頁面。

你能告訴我爲什麼這麼慢嗎?

我想使用文本文件來存儲一個字符串(2000個字符)。 在我的測試中,裏面只有一個「hello world」,它仍然需要一秒鐘。我該如何解決這個問題?

非常感謝。

回答

0

如果你只是想獲得一個文件轉換成字符串的內容,使用file_get_contents()因爲它有更好的性能

file_get_contents()是讀取文件的內容到一個字符串中的首選方式。如果您的操作系統支持,它將使用內存映射技術來提高性能。

在目前情況下,

<?php 
    $myfile = fopen("lastupdate.txt", "r") or die("Unable to open file!"); 
    echo fread($myfile,filesize("lastupdate.txt")); 
    fclose($myfile); 
?> 

可與readfile()被替換,這將讀取該文件,並將其發送到瀏覽器中的一個命令

<?php 
    readfile("lastupdate.txt"); 
?> 

這是基本相同

<?php 
    echo file_get_contents("lastupdate.txt"); 
?> 

除了file_get_contents()可能會導致s cript爲大文件崩潰,而readfile()不會。

+1

謝謝:) :)更好地工作 – MasterOfDesaster