我正在重新编写一个支持多种皮肤的网站。目前,我只是计划允许修改图像和 CSS,但底层 HTML 不会改变。如果皮肤不修改图像或 CSS 文件,它会从基础皮肤继承该文件。
考虑到这一点,到目前为止,我考虑过以下 3 种方式来提供与皮肤相关的文件:
- 使用查找函数将所有特定于皮肤的请求请求包装在视图中,即:
<img src="<?php get_skin_file('/images/header.png', 'skin1'); ?>" /> 函数 get_skin_file($file, $skin) { $skin_file = '/' 。$皮肤。'/' 。$文件; if(is_readable($skin_file)) 返回 $skin_file; 返回 '/default/' 。$文件; }
让 php 提供图像
<img src="/header.png.php?skin=skin1" />
总是尝试加载皮肤文件,如果它不存在,使用 ModRewrite 将结果发送到 php 处理程序脚本:
<img src="/skin1/header.png" />
第 2 项是我想做的,但我只关心让 PHP 提供基本上每个图像文件的性能影响。
我的用户群足够小(大约 30k 用户),我认为这不是一个问题,但我也想了解其他人在这种情况下会做什么。
谢谢。
编辑:我不知道为什么我的代码格式不正确。我点击了代码按钮并检查了它是 4 个空格,但它仍然很难看。对于那个很抱歉。