I want to include a menu in my php pages. Like this:
in index.php
require_once 'includes/menu.php';
in dir/index.php
require_once 'includes/menu.php';
in menu.php I have:
<a href='link1.php'>Link 1</a>
<a href='link2.php'>Link 2</a>
<a href='link3.php'>Link 3</a>
The problem is that the path should be different for the subdirectory and the root.
How I can handle this, so that the output is link1.php for the index, and ../link1.php for the sub directories?
I found this link, but the question is not very clear, so I don´t known if is related: Change relative link paths for included content in PHP
Here’s one thought: use absolute paths. Putting the href as
/link1.phpwill link tohttp://www.yourdomain.com/link1.php, regardless of what subdirectory one is in.Since I don’t know the particulars of your situation, however, that may not be an acceptable solution. Just putting it out there.
If your menu is used in different subdirectories to actually refer to different locations, however, e.g. used at
/foo/sub/index.phpto refer to/foo/link1.phpand also used at/bar/sub/index.phpto refer to/bar/link1.php, then the HTML base tag might come in handy.