“确定文件夹深度的代码”/";在PHP中


Code to determine folder depth "../" in PHP?

提前感谢您的帮助!

我过去常常使用我刚开始时制作的代码,因为找不到符合我要求的代码片段。(也许是因为不知道术语(我相信有一个更简单的方法,这就是我寻求建议的原因。

/编辑/将使用此模板的页面暂时托管在另一个网站的子目录中,使用"/"从页面的根目录开始不是我想使用的选项,因为我想毫不费力地将网站放到另一个托管服务器上,并为页面添加域名,因此根目录的路径(例如"/temp-dir/site/images/image.jpg"(将需要更新,使用以前的目录(例如"../../../images/image.jpg"(将在移动时从现有站点和新位置工作。/endEDIT/

我试图实现的是使用这样的方法在头模板中的文件名之前应用适量的"../">

<link href="<?php if(isset($pDepth)){ echo $prev; }?>style.css" />

其中$prev将等于以前的目录代码,范围从"../"到"../../../",具体取决于每个网页上的变量$pDepth。例如:

if($pDepth == 3){the output of $prev will equal "../../../"}

我看到了使用++可以更改输出的地方,但不能添加字符串,是吗?我在想:

if($pDepth == 4){
  $i = 0;
  while($i != $pDepth){
    // help needed here
    // add "../" until $prev = "../../../../"
  }
}

我仍在学习编写代码,如果有任何帮助,我将不胜感激。再次感谢!

$prev = str_repeat('../', $pDepth); 
$pDepth = $pDepth . "../";

应该还可以。

要在PHP中连接字符串,请使用.运算符。试试这个:

if($pDepth == 4){
  $i = 0;
  while($i != $pDepth){
    $prev .= '../';
    $i++;
  }
}