Chemin de répertoire ?

Mammouth du PHP | 601 Messages

30 mai 2006, 02:40

Bonjour,
je n'arrive pas à comprendre les chemind de répertoire ?
../fichier.php
./fichier.php
ou j'ai vu cela :
../../fichier.php
./../fichier.php
Je ne sais pas pour atteindre un fichier plus haut il faut un point ou deux ?
Merci d'avance.
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Eléphant du PHP | 451 Messages

30 mai 2006, 06:21

Bon :
. c'est le répertoire courant (ca évite de parcourir tout $PATH)
.. c'est pour remonter d'un répertoire

donc :

../fichier.php
on peut penser que le système va tenter de trouver un fichier fichier.php au dessus d'un des répertoires contenus dans la variable PATH (je n'ai jamais fait l'essai, il faudra que je le fasse qaund j'aurai un moment).
./fichier.php
le système va essayer de trouver fichier.php dans le répertoire courant
../../fichier.php
le système tenterais de trouver fichier.php deux répertoires au dessus d'un des répertoires contenus dans la variable PATH
./../fichier.php
le système va essayer de trouver fichier.php juste au dessus du répertoire courant.

Mais attention, il se peut que ca ne marche pas chez un hébergeur (ou même localement) car il faut, bien sur avoir les droits d'accès.

Au fait pour info :
// avec rien devant, c'est la racine du disque...
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

Mammouth du PHP | 601 Messages

30 mai 2006, 13:16

Je n'ai pas de variable ni constence PATH ?
Autrement merci pour l'explication.
Connaitreit tu un tuto sur une arborescence complexe ?
tu remonte un rép, pour aller dans un rep qui lui descend 3 fois ?
./.././../../../fichier.php
Merci ;-)
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 mai 2006, 14:14

Un tutoriel n'est pas vraiment necessaire vu qu'il n'y a que deux actions possibles : remonter dans le dossier parent et descendre dans un dossier dont tu connais le nom :) Tu donnes en fait le chemin complet à partir de ton script.

Si tu as besoin de remonter d'un dossier et de redescendre 3 fois, il te faut :
- un "../" (pour remonter dans le dossier parent)
- suivi des noms des dossiers dans lesquels tu veux descendre séparés par des "/"

Code : Tout sélectionner

../dossier1/dossier2/dossier3/
Si tu ne met rien devant, ce n'est pas la racine, mais le repertoire en cours, c'est équivalent au "./". On parle de chemin "relatif", puisque celui-ci dépend de ton point de départ. Pour obtenir la racine du site, il faut commencer par "/". Dans ce cas on parle de chemin "absolu", puisque peut importe d'où tu l'appelles, il partira de la racine.

Quelques exemples :

Code : Tout sélectionner

- / - dossierA - dossierA1 - dossierA2 - dossierB
- Si tu es dans dossierA et que tu as besoin de remonter à la racine tu fais "../" (en relatif) ou bien directement "/" (en absolu)
- Si tu es dans dossierA1 et que tu as besoin de remonter à la racine tu fais "../../" (remonte dans dossierA puis remonte à la racine)
- Si tu es dans dossierA1 et que tu as besoin d'aller dans dossierB tu fais "../../dossierB/" (remonte dans dossierA, remonte à la racine, descend dans dossierB) ou "/dossierB/" en absolu (part de la racine et descend jusque dans dossierB)

Et maintenant un petit TP : Si tu es placé dans le dossierB et que tu veux accéder à un fichier contenu par le dossierA2, quel chemins relatifs et absolus peux tu employer ? :)

Mammouth du PHP | 601 Messages

30 mai 2006, 16:15

Si tu es placé dans le dossierB et que tu veux accéder à un fichier contenu par le dossierA2, quel chemins relatifs et absolus peux tu employer ?
si :
A/A1/A2
et
A/B
réponse :
../A/A1/A2
<¿ :?: ¿>
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 mai 2006, 16:24

Dans mon exemple A est au même niveau que B. A1 et A2 sont deux sous dossiers de A ;)

Mais si l'on reprend le tiens (A/B : b est un sous dossier de A et A/A1/A2 : A2 sous dossier de A1, sous dossier de A) tu as le dossier "A" en trop :)

de B je remonte vers A : ../ (ça c'est ok :))
de A je descend dans A1 : A1/
de A1 je descend dans A2 : A2/

donc le chemin est "../A1/A2/" :)

et en absolu, le chemin serait "/A/A1/A2/"
la racine : /
de la racine je descend dans A : A/
de A je descend dans A1 : A1/
de A1 je descend dans A2 : A2/

Mammouth du PHP | 601 Messages

30 mai 2006, 17:28

donc le chemin est "../A1/A2/"
Toput juste
je :shock:
Merci ;-)
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"