我想知道如何在PHP中获取当前文件名,以便能够在不同的目录中加载相同的文件。
index.php
works.php
lang/de/
index.php
works.php
lang/pl/
index.php
works.php
<div id="language">
<a href="../../index.php" class="lang">EN</a>
<a class="lang" href="index.php">DE</a>
<a class="lang" href="../pl/index.php">PL</a>
</div>
当前方法是将lang URL重定向到index.php。 我很想知道如何从works.php重定向到lang / de / works.php而不重定向到lang / de / index.php
对不起,如果我让你感到困惑
答案 0 :(得分:4)
我认为这就是你想要的:
<?php
$page = basename($_SERVER['PHP_SELF']);
?>
<div id="language">
<a href="../../<?php echo $page;?>" class="lang">EN</a>
<a class="lang" href="<?php echo $page;?>">DE</a>
<a class="lang" href="../pl/<?php echo $page;?>">PL</a>
</div>
您可以将当前文件名保存在$ page变量中。然后将其回显并替换链接中的index.php。
答案 1 :(得分:1)
你应该真的谷歌这个东西。
<?php basename($_SERVER['PHP_SELF']); ?>
现在您添加了一些代码,这里就是。
<div id="language">
<a href="../../<?php echo basename($_SERVER['PHP_SELF']); ?>" class="lang">EN</a>
<a class="lang" href="<?php echo basename($_SERVER['PHP_SELF']); ?>">DE</a>
<a class="lang" href="../pl/<?php echo basename($_SERVER['PHP_SELF']); ?>">PL</a>
</div>
仅供参考,basename($_SERVER['PHP_SELF']);
获取当前文件的名称并返回该文件。换句话说,它将返回“index.php”或“works.php”