Myroot, module pour faciliter les include() et acces en local à un fichier

Soyez le premier à donner votre avis sur cette source.

Vue 4 691 fois - Téléchargée 292 fois

Description

mYRoot est un ensemble de fonctions en PHP destinées
a retrouver la racine d'un site pour des traitements
de fichier en local (par exemple ; des inclusions).

L'usage le plus courant de mYRoot est de permettre de
faire des inclusions récursives sans se soucier du niveau
d'arborescence du fichier PHP qui déclenche l'inclusion.
Càd que vous pouvez (enfin) faire des include() dans des fichiers
qui ont eux-memes été inclu !!!

Avec les fonctions mYRoot() pour les adresses de fichier en local, puis mYRootURL() pour vos URL, et l'emploie de la balise BASE, vous pourrez produire un code-source indépendant du niveau d'arborescence de votre page... Bref, faire des copier-coller de sources entre vos pages SANS avoir besoin de corriger vos adresses et URLs !!!

D'une façon générale, avec mYRoot et la balise BASE, vous définissez vos adresses TOUJOURS depuis la racine de votre site.

Le Zip contient un fichier Lisez-moi avec des explications et instructions trés détaillées, notamment par rapport aux précautions à prendre pour l'indexation par les moteurs de recherche (si vous utilisez la balise BASE).

Source / Exemple :


<?php
require_once("../common/myroot/myroot.lib.php");
require_once(mYRoot()."common/config_inc.php");

...

?>
<html>
<head>
<base target="_self" href="<?php echo(mYRootURL()); ?>" />
...
</head>
<body>
...
<a href="<?php echo(mYRootURL()); ?>autre-dossier/autre-page.html">Autre page</a>
...
</body>
</html>

Conclusion :


Ce module a été créé pour le site du plugin "Yahoo! Messenger Plus":
http://www.yahooplus.fr.st/

Evolution envisagée:
- Détecter automatiquement l'URL de la racine du site quand myroot.lib.php est situé lui-meme à la racine.
- Réécrire mYRoot comme classe me semble pas indispensable.

Distribué sous licence GNU-GPL... Merci de me faire de la pub (et/ou pour Y!MPlus) via mon blog:
http://360.yahoo.com/olie_ze_kat

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
296
Date d'inscription
lundi 2 septembre 2002
Statut
Membre
Dernière intervention
28 janvier 2008

*****************
* 1 GOLDWIN *
* POINT *
*****************
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
"le seul moyen de resoudre l'un de mes problemes"

le seul moyen que tu connais de résoudre l'un de tes problèmes ;-) sans vouloir faire de troll ^^
Messages postés
296
Date d'inscription
lundi 2 septembre 2002
Statut
Membre
Dernière intervention
28 janvier 2008

Pour inclure myroot, tes bien obligé de donner le chemin. SAUF si on met myroot.lib.php dans l'include_path... Notamment la racine réel du site :o"

Tout façon, je voulais pô faire un débat. Cette source etait, et est toujours, le seul moyen de resoudre l'un de mes problemes (avec des pages perso)... J'oblige personne à l'utiliser :o|
Messages postés
163
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
8 mai 2010

c'est ce que je voulais dire ^^

D'ailleurs je ferais remarqué à olid tout betement sa première ligne de code :

require_once("../common/myroot/myroot.lib.php");

tu l'a bien tapé à la main ce chemin relatif, faut bien connaitre le chemin vers ton fichier myroot.lib.php pour l'inclure en tout premier et donc si tu connais ce chemin tu sais t'y retrouvé dans le site.

dexiemement si je met un fichier admettons systeme.php à côté de myroot.lib.php et que celui-ci inclu ton fichier d'exemple tu auras une bel erreur d'inclusion dès la première ligne car le chemin du require_once("../common/myroot/myroot.lib.php"); du coup est faux...

Voilà pourquoi ton système n'est pas idéal olid.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
ça trouve son intérêt justement dans le cas où tu inclus un fichier qu'en inclus un autre en fonction de son chemin et blabla et justement ta solution est meilleure qu'une fonction pour faire ça ;-) c'est là aussi où on voulait en venir.

a +
Afficher les 15 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.