我正在用PHP创建一个基本的模板系统,问题是:
我有一个主要的请求处理程序,从那里加载和处理所有内容,但由于这个原因,我下载的CSS模板中的路径不再正确。
示例:
<img src="assets/images/contact.gif" />
必须是:
<img src="templates/grey-box/assets/images/contact.gif" />
有没有办法解决这个问题,PHP明智吗?
答案 0 :(得分:3)
不要懒惰
始终使用绝对路径。
明确表达,而不是一些肮脏的黑客。这将是一场支持噩梦。
您可以使用一些辅助变量,例如$tpl_assets_path
,并在模板中使用它。
绝对路径从/
开始,其中/
指定web-seite root。
HTML页面上的每个路径都应该是。
所以,模板应该是
<img src="/templates/grey-box/assets/images/contact.gif" />
或
<img src="<?=$tpl_assets_path?>images/contact.gif" />
答案 1 :(得分:1)
define('HTTP_SERVER', 'http://www.myhomeurl.com/');
<img src="<?php echo HTTP_SERVER?>assets/images/contact.gif />
答案 2 :(得分:-3)
就在这里
$imgarray = array('assets','script','css');
$tpl = '/templates/grey-box/';
foreach($imgarray as $i){
$tpldir = $tpl.$i;
$str = preg_replace("/([^\/])($i)([\/])/i","\$1$tpldir\$3",$str);
}