2009-02-23 8 views
1

J'ai un fichier PHP à ma racine du serveur .. index.php .. qui include « s .. DIR/main.phpChanger les chemins de lien relatif pour le contenu inclus dans PHP

maintenant .. DIR/main.php .. a des liens relatifs vers beaucoup de fichiers à proximité.

Tous les liens relatifs sont rompus.


De toute façon je peux changer le chemin de base URL relative pour les liens?

... de sorte que le contenu de DIR inclus/main.php a tous ses liens vers friend1.php changé à DIR/friend1.php.


Éditer: Ceci dans NOT à propos de include, c'est à propos de CHANGER ahref liens en-masse.

+0

Diminué parce que vous ne comprenez pas? –

+0

Est-il faisable de faire une recherche et de remplacer sur l'ensemble du projet? –

Répondre

2

La balise base en html fonctionne pour les liens relatifs. Voir w3schools pour un exemple sur la façon de l'utiliser.

+0

La balise de base nécessite un chemin absolu. Et n'est plus correctement pris en charge dans Internet Explorer, depuis la version 7. – SamGoody

1

L'image n'est pas trop claire mais vous pouvez probablement réorganiser quelques fichiers et utiliser des liens symboliques pour résoudre le problème. Pour votre exemple, vous pourriez créer un lien symbolique DIR/friend1.php qui pointe vers/friend1.php, mais vous devrez le faire pour tous vos fichiers, ou simplement les déplacer.

2

En supposant main.php est un mélange de HTML et PHP puis quand vous émettez un lien, vous devez inclure un préfixe:

<a href="<?php echo $web_root; ?>relative/path/">relative link</a> 

Où web_root de $ est votre chemin racine (« DIR »). Probablement une bonne idée de le définir dans un fichier d'inclusion séparé de sorte que vous n'avez qu'à le définir une fois pour tous vos scripts.

Questions connexes