Chemin abosolu et relatif
malek
-
malek -
malek -
Bonjour,
j'ai vu sur differents forums du web sans avoir une reponse satisfaisante;
je cherche a savoir comment pointer un fichier en absolu cela veux dire en donnant son chemin depuis la racine, par exemple "www" comme dans mon cas avec le EasyPHP
ceci est mon cas de code:
<?php
require("[???]DB/DBLoader.php");
?>
le repertoire "DB" est directement sour "www" et je veux avoir une methode pour l'adresser de tout les autres repertoires de mon site.
ca sera gentil de me donner la même solution sous html aussi
merci bien en avance
j'ai vu sur differents forums du web sans avoir une reponse satisfaisante;
je cherche a savoir comment pointer un fichier en absolu cela veux dire en donnant son chemin depuis la racine, par exemple "www" comme dans mon cas avec le EasyPHP
ceci est mon cas de code:
<?php
require("[???]DB/DBLoader.php");
?>
le repertoire "DB" est directement sour "www" et je veux avoir une methode pour l'adresser de tout les autres repertoires de mon site.
ca sera gentil de me donner la même solution sous html aussi
merci bien en avance
A voir également:
- Chemin abosolu et relatif
- Chaque fichier en ligne sur le web a un chemin d’accès sur un serveur. c’est le cas du fichier du logo présent sur la page de cette ville. quel est le chemin de ce fichier à partir de la racine du site ? ✓ - Forum Windows
- Valeur relative et absolue ✓ - Forum Webmastering
- Le chemin d'accès spécifié est introuvable ✓ - Forum Téléchargement
- Chemin fichier host - Guide
- Trouvez une valeur relative dans un tableau - Forum Excel
4 réponses
Je vais re-répondre, pour dire la même chose, mais en plus complet.
Un lien absolu reprend l'adresse entière du fichier, et peu importe d'où il est utilisé, il menera au même endroit.
Un lien relatif ne reprend qu'une partie de l'adresse du fichier, et en fonction de là où il est utilisé, il ne menera pas au même endroit.
Dans ton cas, si tu prend un adressage absolu maintenant, tu devras inclure "localhost" dedans (où l'ip de ta boucle locale 127.0.0.1, c'est pareil), et tu pourras utiliser le lien sur toutes tes pages. Mais lors de l'envoi vers ton serveur, le lien ne fonctionnera plus bien entendu, puisque le fichier cible ne sera plus au même endroit.
Si tu prends un adressage relatif, tu devras faire un lien propre à chaque page de ton site, mais la portabilité vers ton serveur fonctionnera.
La solution que je te propose, valable uniquement si tu as une page tout le temps appelée (pour tes fonctions par exemples):
Et lors de l'envoi sur ton serveur, tu changes la valeur de $chemin pour la changer sur tout ton site.
Perso, plutôt que de s'embêter, je suis partisan du lien relatif différent sur chaque page.
Un lien absolu reprend l'adresse entière du fichier, et peu importe d'où il est utilisé, il menera au même endroit.
Un lien relatif ne reprend qu'une partie de l'adresse du fichier, et en fonction de là où il est utilisé, il ne menera pas au même endroit.
Dans ton cas, si tu prend un adressage absolu maintenant, tu devras inclure "localhost" dedans (où l'ip de ta boucle locale 127.0.0.1, c'est pareil), et tu pourras utiliser le lien sur toutes tes pages. Mais lors de l'envoi vers ton serveur, le lien ne fonctionnera plus bien entendu, puisque le fichier cible ne sera plus au même endroit.
Si tu prends un adressage relatif, tu devras faire un lien propre à chaque page de ton site, mais la portabilité vers ton serveur fonctionnera.
La solution que je te propose, valable uniquement si tu as une page tout le temps appelée (pour tes fonctions par exemples):
$chemin = "localhost"; require($chemin.'/DBLoader.php');
Et lors de l'envoi sur ton serveur, tu changes la valeur de $chemin pour la changer sur tout ton site.
Perso, plutôt que de s'embêter, je suis partisan du lien relatif différent sur chaque page.
Bonjour
Le nom de domaine et l'adresse IP n'ont rien à voir là-dedans.
On parle d'adressage relatif ou absolu dans deux cas de figure qui n'ont rien à voir :
. la cible est accédée par HTTP (typiquement <a href="url">
. la cible est un fichier dans le serveur (typiquement include ou require)
Dans le cas de l'url, bien sûr, il faut mettre un nom de domaine pour avoir une référence absolue.
Mais toi tu veux faire un require : il le faut le nom (absolu) du dossier où se trouvent tes fichiers. Il faut utiliser la variable $_SERVER['DOCUMENT_ROOT'] et peut-être ajouter www/ ou html/ ou rien du tout ou autre chose, ça dépend de comment ton hébergeur organise son système de fichiers.
Les spécialistes me diront qu'ont peut aussi avoir des include avec des url, mais je doute que ce soit le cas ici.
Le nom de domaine et l'adresse IP n'ont rien à voir là-dedans.
On parle d'adressage relatif ou absolu dans deux cas de figure qui n'ont rien à voir :
. la cible est accédée par HTTP (typiquement <a href="url">
. la cible est un fichier dans le serveur (typiquement include ou require)
Dans le cas de l'url, bien sûr, il faut mettre un nom de domaine pour avoir une référence absolue.
Mais toi tu veux faire un require : il le faut le nom (absolu) du dossier où se trouvent tes fichiers. Il faut utiliser la variable $_SERVER['DOCUMENT_ROOT'] et peut-être ajouter www/ ou html/ ou rien du tout ou autre chose, ça dépend de comment ton hébergeur organise son système de fichiers.
Les spécialistes me diront qu'ont peut aussi avoir des include avec des url, mais je doute que ce soit le cas ici.
bonjour et Merci à vous tous,
je pense que $_SERVER['DOCUMENT_ROOT'] proposé par Le pere doit être la solution la plus complète, bien je ne comprend toujours pas pourquoi le "../" marche parfois et parfois non
et hier en tatouant j'ai vu que "/" marche aussi sur WAMP (à savoir pour combien de temps)
espérant de ne pas déranger beaucoup je cherche la solution la plus simple alors si un symbole comme "../" ou "/" peu faire l'affaire au lieu des variables globales comme $_SERVER['DOCUMENT_ROOT'] j'aimerai bien l'utilisé, mais tout en gardant mon code compatible avec tous les serveurs.
je pense que $_SERVER['DOCUMENT_ROOT'] proposé par Le pere doit être la solution la plus complète, bien je ne comprend toujours pas pourquoi le "../" marche parfois et parfois non
et hier en tatouant j'ai vu que "/" marche aussi sur WAMP (à savoir pour combien de temps)
espérant de ne pas déranger beaucoup je cherche la solution la plus simple alors si un symbole comme "../" ou "/" peu faire l'affaire au lieu des variables globales comme $_SERVER['DOCUMENT_ROOT'] j'aimerai bien l'utilisé, mais tout en gardant mon code compatible avec tous les serveurs.
Bonjour,
Un adressage absolu prend en compte ton nom de domaine ;)
www.monsite.com/DB/DBLoader.php
Un adressage absolu prend en compte ton nom de domaine ;)
www.monsite.com/DB/DBLoader.php
Merci Apatik mais c'est pas ca que je cherche puisque là je code sous easyPHP et ww.monsite.com est simplement http://127.0.0.1; et en plus j'ai pas encore de domaine je suis encore en etape de construction de la page
il doit y avoir pour adresser un ficher en absolu ce la veux dire son adresse depuis le racine;
je donne ici un cas pareil sous DOS :
en relatif : cd db
en absolu : cd c:\db
deux metode d'adresser un repertoire relatif et absolue
et je cherche le mode absolu puisque c plus simple
merci encore
il doit y avoir pour adresser un ficher en absolu ce la veux dire son adresse depuis le racine;
je donne ici un cas pareil sous DOS :
en relatif : cd db
en absolu : cd c:\db
deux metode d'adresser un repertoire relatif et absolue
et je cherche le mode absolu puisque c plus simple
merci encore
ben c un peu bizarre; mais ce "../" ne fonctionne pas toujours; en tout cas au debut ça ne fonctionne pas mais après pour une raison que je connais pas ça passe; et quand je recommence sur un autre sur un autre pc ça recommence
voici ce que j'écrit exactement dans le code:
<?php require("../DBLoader.php"); ?>
j'ai déplacé mon fichier "DBLoader.php" directement sous la racine comme suit:
www\DBLoader.php
voici ce que j'écrit exactement dans le code:
<?php require("../DBLoader.php"); ?>
j'ai déplacé mon fichier "DBLoader.php" directement sous la racine comme suit:
www\DBLoader.php