Hoe kan ik een <script> routine aanroepen vanuit een subdirectory?
<script type="text/javascript" src="/SUBDIR-NL/new-menu-empty.php"></script>

De script zelf roept de volgende routine op:

      <?php
      header("Content-type: text/javascript");
      $protected = false;
      include_once("init.php");
      ?>
      //<!-- Begin CSS Horizontal Menu - menu ver 3.11mini 2010
      document.write(" <?php windowLink("Aanmelden", "loginWindow"); ?> "); 

en deze triiget de volgende login rotine:
     <div id="loginWindow" class="window">
     <?php closeButton(); ?>
     <h1>LOGIN</h1>
     <hr />

enz,

Het is een enorm moeilijke vraag ..
Je komt in de problemen omdat je geen absolute paden gebruikt.

absoluut pad (Linux):
/home/frank/domein.nl/www/php/test.php

relatief pad:
php/test.php

een relatief pad wordt altijd gezien vanuit de directory waar het pad genoteerd is.
dus stel je wilt test.php includen in de twee volgende situaties:

/home/frank/domein.nl/www/index.php:
<?php
include 'php/test.php';
?>
wordt vertaald naar /home/frank/domein.nl/www/php/test.php

/home/frank/domein.nl/www/php/index.php:
<?php
include 'php/test.php';
?>
wordt vertaald naar /home/frank/domein.nl/www/php/php/test.php

dan de URL's
Complete URL:
http://www.domein.nl/style/layout.css

voorbeeld van een relatief pad:
style/layout.css

voorbeeld van een relatief pad dat geen problemen geeft :-)
/style/layout.css

Stel je hebt een index.html op de root van je directory (http://www.domein.nl/index.html)
en je schrijft deze regel in index.html:

<link rel="stylesheet" type="text/css" href="style/layout.css">

dan zal de browser zoeken op www.domein.nl/style/layout.css.

Nu verplaats je index.html naar een subdirectory genaamd admin. (www.domein.nl/admin/index.html)
dan zal de browser zoeken op www.domein.nl/admin/style/layout.css en de layout.css zal weer niet gevonden worden.

als je nu dit doet:

<link rel="stylesheet" type="text/css" href="/style/layout.css">

Dan zal de layout.css altijd gevonden worden.

[size=xsmall]Toevoeging op 08/10/2014 20:53:03:[/size]

tip:

In PHP kun je het pad opvragen met
<?php
echo __DIR__;
?>

Verder helpt een logische verdeling van de bestanden ook. Met PHP bestanden kun je onderscheid maken tussen bestanden waarop 'geland' mag worden en bestanden die alleen ge-include worden.

Een idee voor een indeling

root
  |
  |--- index.php
  |
  |--- about.php
  |
  |--- contact.php
  |
  |--- [css]
  |      |
  |      |--- layout.css
  |
  |--- [javascript]
  |      |
  |      |--- jquery.js
  |
  |--- [includes]
         |
         |--- functions.php

Reageren