2010-08-11 81 views
0

我正在使用會話來跟蹤用戶數據。我有很多頁面訪問同一組圖像。有沒有辦法將圖像預加載到會話中,以便在會話的其餘部分加載它們?在PHP會話中預加載圖像

-Mike

+2

是不是?一旦用戶瀏覽器加載一次圖像,就會緩存所有後續調用的圖像。 – Fosco 2010-08-11 16:22:14

+0

@Fosco,不一定正確。請在下面看到我對@ Matt的回答的評論。 – 2010-10-08 07:22:59

回答

0

當你的腳本啓動,您可以運行以下命令:

if (!isset($_SESSION['images'])) 
{ 
    $_SESSION['images'] = get_my_images(); 
} 

然後,使用$_SESSION['images']當你需要訪問一組圖像。

+0

請解釋負面的評價......如何在會話中存儲圖像列表? – 2010-08-11 16:34:43

0

爲什麼要保持會議中的圖像?

您可以使用lighttpd或通過CDN爲圖像提供資源。

,如果你是在談論返回圖像鏈接,你可以緩存與分佈式緩存等環節一旦被加載在第一時間

1

瀏覽器會自動保存圖像的副本,以便他們不用下載就再次。

+0

這不一定是真的。你需要確保你的圖像頭有適當的緩存控制集,否則瀏覽器不會緩存它們。您可以在Chrome中使用Firebug或檢查器來檢查HTTP標頭。 – 2010-10-08 07:22:30

0

在登錄/會話建立後的第一個頁面,只是所有的圖像加載到一個隱藏的div,此時瀏覽器將採取cacheing他們爲你的護理:

<div style="display: none"> 
    <img src="img1.jpg" /> 
    <img src="img2.jpg" /> 
    ... 
</div> 

會有個在服務器上進行第一次頁面加載,但在瀏覽器緩存持續時間之後沒有任何內容,或者最多爲'304'檢查 - 如果是新類型的請求。