meilleure façon serait d'utiliser Pathes/URL absolues.
Pour les URL, définir une variable/constante quelque part, qui pointe à la racine de votre application, comme:
define('ROOT_URL', 'http://www.example.com');
ou
$root_url = 'http://www.example.com';
et l'utiliser dans tous les liens, comme:
<a href="{$root_url}/my-page.php">blah</a>
De cette façon, toujours OK (et le jour où vous installez votre projet sur un autre serveur, ou dans un sous-directeur y, vous n'avez qu'une constante/variable à modifier, et tout fonctionne toujours)
Pour includes/requires, utilisez toujours des chemins absolus; une solution consiste à utiliser dirname
, comme ceci:
include dirname(__FILE__) . '/my_file.php';
include dirname(__FILE__) . '/../my-other-file.php';
__FILE__
est le fichier en cours, où vous écrivez cette ligne; dirname
obtient le chemin d'accès (le chemin d'accès complet) au répertoire contenant ce fichier.
Avec cela, vous n'avez jamais à vous soucier des chemins relatifs de vos fichiers.
ah, mais comment puis-je savoir ce que ce chemin devrait être? –
Vous voulez probablement jeter un oeil à PHP Info pour une variable de serveur, ou le définir vous-même. Si vous le définissez vous-même, assurez-vous que c'est le répertoire dans lequel TOUS les fichiers tombent. –