2010-12-12 39 views
1

J'ai donc plusieurs fichiers PHP organisés en plusieurs dossiers et sous-dossiers. Je inclus la même page PHP dans chaque page en utilisant include('sidebar.php'). Mon problème est que ce sidepar.php contient un lien vers les pages de mon site et si je clique à partir d'un fichier d'un sous-dossier, le lien est quelque chose comme ceci: posts/posts/post.php au lieu de posts/post.php.Comment inclure une page dans PHP si elle se trouve dans le dossier racine?

Comment résoudre ce problème?

Oh et comment est-il possible d'inclure un fichier (include();) du dossier racine dans un fichier de différents sous-dossiers?

+0

Vous devez utiliser le chemin absolu, comme Vincent [suggéré] (http://stackoverflow.com/questions/4422973/how-to-include-a-page-in-php-if-its-in-the- root-folder/4422989 # 4422989). –

Répondre

1

Vous devez indiquer les URL de lien à partir de la racine comme ceci:

<a href="/folder/folder/page.php">Link</a> 

La barre oblique est la clé.

+0

Merci qui l'a fait! – coolboycsaba

+0

Une autre question: si je veux inclure un fichier du dossier racine, la même méthode devrait fonctionner? – coolboycsaba

+0

@coolboycsaba Oui. Vous pouvez utiliser la barre oblique en tout lieu, car toutes les URL sont interprétées par rapport à la racine. –

0

Vous pouvez essayer d'ajouter une barre oblique devant le lien.

Par exemple:

<a href="/posts/post.php">Posts</a> 

De cette façon, il fonctionnera sur une page.

0

Cela semble plutôt être un problème avec les références d'URL que vous utilisez dans vos documents. Parce que vous devez savoir que les URL relatives sont résolues à partir d'une URL de base qui est l'URL actuelle si elle n'est pas spécifiée (voir BASE element). Ainsi, un chemin d'URL relatif tel que posts/post.php est résolu à partir du chemin d'URL de base /posts/post.php il en résulte /posts/posts/post.php.

Vous pouvez résoudre ce problème en utilisant des chemins absolus dans vos références d'URL comme /posts/post.php.