2011-03-02 46 views
1

上午不知道,當它來緩存,但我跑這個文件網址進行緩存/文件

<?php 
header('Location: http://stats.vbirc.com/remote.php?func=numinchan&param=%23animelon'); 
?> 
<meta http-equiv="refresh" content="600"> 

我的服務器得到了禁止防火牆保持的自動阻止我。我在一個自定義圖像的iframe中使用這個代碼(它顯示用戶在irc中)

我想能夠緩存這個,所以它只會觸及那裏的服務器一次,而不是每次有人重新加載一個頁面等...

確定這一些細節

<a href="animelon.com/ezirc/" class="irctitle">#animelon irc.vbirc.org</a> 
<br />Click the link above to join the official animelon chat room or join with you'er 
<a href="irc://irc.vbirc.org:6667/animelon">own client</a>. 
<span class="irc_usersonline"><strong><iframe marginwidth="0" marginheight="0" width="22" height="16" scrolling="no" frameborder=0 src="irc_online.php"> 
</iframe> 
</strong> people online</span> 
</p> 
</div> 

animelon.com/irc_online.php 

這是我在一開始 添加的代碼的名稱,這是我想要的緩存信息顯示

img59.imageshack.us/img59/ 7931/ircz.jpg

(不能使用圖片所以必須鏈接到它)

+1

對我來說,你的代碼並沒有真正意義:頁眉(Locacion)告訴瀏覽器,內容是在另一個 - 元將使其刷新當前頁面一段時間後。你能否更具體地瞭解上下文以及你想要做什麼以及哪些服務器/頁面實際上處於你的控制之下。 – Zulan

+0

我加了一些抱歉和感謝! – VK27

回答

2

緩存的想法很簡單。一個抽象的例子:

if((time() - $time_previously_fetched) > $expire_time){ 
    $contents = file_get_contents($url); //Retrieve from original source 
    saveToDatabase($contents); //Cache it 
    $time_previously_fetched = time(); //Save the time to check against for in future 
}else{ 
    $contents = getFromDatabase(); //Retrieve local copy 
} 

echo $contents; 
+1

其實我認爲你更希望確保一個304沒有被修改,而不是一次又一次地發送內容。 – Zulan

+0

我剛纔發現緩存的內容是單個數字而不是文件/圖片。 304在這種情況下沒有什麼不同,所以請隨時忽略我的評論。 – Zulan

+0

如何使用上面的代碼比請高?我也不是偉大的PHP也:/非常感謝幫助btw – VK27