PHP模板系统,图像路径

时间:2010-12-08 19:54:07

标签: php image templates file path

我正在用PHP创建一个基本的模板系统,问题是:

我有一个主要的请求处理程序,从那里加载和处理所有内容,但由于这个原因,我下载的CSS模板中的路径不再正确。

示例:

<img src="assets/images/contact.gif" />

必须是:

<img src="templates/grey-box/assets/images/contact.gif" />

有没有办法解决这个问题,PHP明智吗?

3 个答案:

答案 0 :(得分:3)

不要懒惰

  1. 始终使用绝对路径

  2. 明确表达,而不是一些肮脏的黑客。这将是一场支持噩梦。

  3. 您可以使用一些辅助变量,例如$tpl_assets_path,并在模板中使用它。

  4. 绝对路径从/开始,其中/指定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);
}