2009-12-29 22 views
0

在我的PHP應用程序,我已經成功地自動版本我的靜態內容(CSS,JS和圖片),所以我的網址是這個樣子:autoversioning圖像鏈接INSIDE CSS和JavaScript文件?

<link rel="stylesheet" href="http://example.com/include/css/global.1262063295.css" type="text/css" media="all" /> 
<img src="http://example.com/images/logo.1254284339.png" alt="" /> 

10位數版本號只是修改單個文件的Unix時間戳。這是通過mod_rewrite和一些基本的PHP代碼實現的(請參閱http://particletree.com/notebook/automatically-version-your-css-and-javascript-files/)。到現在爲止還挺好。


然而,這是我的問題。

在我的CSS文件,我有聯繫的許多背景圖片:

background: url("http://example.com/images/dice.gif") no-repeat right top; 

同樣在我的JS文件中,我引用不同的影像。

因爲我希望所有進入我的靜態內容(CSS,JS,圖像)有包括版本號,有沒有什麼辦法來自動更新鏈接INSIDE一個的CSS或.js文件,因此上面的css看起來是這樣的:

background: url("http://example.com/images/dice.1234567893.gif") no-repeat right top; 

這怎麼可以自動完成?

感謝, 康斯坦丁

回答

4

你可以爲你的CSS和JS文件通過PHP也是如此。例如,將global.css重命名爲global.css.php。確保發送到正確的HTTP響應標頭。

<?php // global.css.php 
header('Content-Type:text/css; charset:utf-8'); 
include($_SERVER['DOCUMENT_ROOT'].'/path/to/autoVer.php'); ?> 

#cssrule { background: url(<?php autoVer('/img/background.gif') ?>); }