A voir également:
- Chemin abosolu et relatif
- Excel formule nom fichier sans chemin - Forum Excel
- Impossible de générer de clé privée à partir de openssl_pkey_new. vérifiez votre configuration openssl. le problème peut être lié au chemin vers openssl.cafile. ✓ - Forum Autres distributions Linux
- 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 Réseau
- Aucun chemin de connexion discord - Forum Discord
- Problème de connexion sur discord en vocale ( connexion SCTR ) - Forum Discord
4 réponses
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
19 déc. 2011 à 16:58
19 déc. 2011 à 16:58
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.
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
20 déc. 2011 à 07:46
20 déc. 2011 à 07:46
".." et "." sont des chemins relatifs qui signifient respectivement "dossier parent", et "dossier en cours". En fonction d'où ils sont utilisés, ils n'indiquent donc pas les mêmes dossiers.
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
20 déc. 2011 à 08:26
20 déc. 2011 à 08:26
Et bien il faut une variable :)
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
19 déc. 2011 à 11:21
19 déc. 2011 à 11:21
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
Raydenprod
Messages postés
77
Date d'inscription
lundi 12 décembre 2011
Statut
Membre
Dernière intervention
27 mai 2013
4
19 déc. 2011 à 11:33
19 déc. 2011 à 11:33
tu tapes ../ puis le chemin de ton fichier à partir du www
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