2014-02-10 24 views
0

我有一個PHP站點,在登錄過程中使用文件名填充會話變量。當用戶啓動某個頁面時,這些文件中包含的數據將包含在頁面中。使用PHP的性能包括()

從性能的角度來看,有沒有更好的方法來實現這一目標?我正在考慮將文件數據加載到會話數組本身,但不知道這是否會有所作爲。

foreach($_SESSION['windows'] as $file) 
{ 
    include("$file"); 
} 
+0

你對性能有什麼瞭解?你爲什麼認爲你需要優化這個特定的地方? – zerkms

+0

除非你有成千上萬的文件名以真正慢的方式加載(比如通過循環遍歷整個本地文件系統),或者你擁有數百萬的頁面瀏覽量,性能是如此之小以至於我無法想象即使測試足夠重要的場景。 – BrianHall

+0

它完全取決於你的文件數據的樣子。將指針(文件路徑)存儲到這些文件並使用文件處理程序智能訪問它們可能會更好,以僅訪問您在特定時間需要的數據。以任何方式加載所有內容都是一種浪費。 – 2014-02-10 22:08:41

回答

0

您可以通過不將變量括在雙引號中來獲得更高的性能。

include($file); 

除此之外,我會質疑是否需要在會話中存儲代碼文件名,但這有點合理。

請確保使用操作碼緩存以獲得最佳性能。使用include($var)include('filename.php')沒有真正的區別。

+0

如何在沒有任何事先知道加載的文件的情況下回答他的問題?你不知道這些文件是幾千字節還是百兆字節。取決於他希望如何使用這些數據在這個問題上非常重要。 – 2014-02-10 22:10:39

+0

@Allendar:這是一個相當可接受的通用答案。如果他們是100Mb文件,並且您需要包含它們 - 那麼您只需要包含它們即可。而且,不,關於「他如何使用這些數據」 – zerkms