我正在重写一个支持多个皮肤的网站。目前,我只是计划允许修改图像和CSS,但底层HTML不会更改。如果皮肤不修改图像或CSS文件,它会从基础皮肤继承该文件。用皮肤创建网站 - 根据我的观点,提供正确图像的最佳方式是什么?
考虑到这一点,这里有3种方式,到目前为止,我认为是服务了皮肤相关文件:
- 总结视图中的所有肌肤专用的处理请求的查找功能,即:
<img src="<?php get_skin_file('/images/header.png', 'skin1'); ?>" /> function get_skin_file($file, $skin) { $skin_file = '/' . $skin . '/' . $file; if(is_readable($skin_file)) return $skin_file; return '/default/' . $file; }
的PHP服务于图像
<img src="/header.png.php?skin=skin1" />
总是尝试加载皮肤文件,如果它不存在,使用ModRewrite将结果发送到PHP处理程序脚本:
<img src="/skin1/header.png" />
2号是我我喜欢这样做,但我只关心让PHP基本上为每个图像文件提供服务的性能影响。
我的用户库足够小(约3万用户),我不认为这确实是一个问题,但我也想知道其他人在这种情况下做了什么。
谢谢。
编辑:我不知道为什么我的代码格式不正确。我点击代码按钮并检查它是4个空格,但它仍然很难看。对于那个很抱歉。
修复了您的格式。不知道为什么它会像那样突破。此外,您不需要在问题标题中包含关键字或前缀,这就是标签的用途。 :) – Charles 2010-08-02 18:31:02