IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Chemin d'accès aux fichiers


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 576
    Points : 803
    Points
    803
    Par défaut Chemin d'accès aux fichiers
    Bonjour à tous,

    Malgré de nombreuses explications, je n'arrive toujours pas à écrire mes chemins de fichiers.
    Dans le code suivant, pourquoi mon fichier n'est pas trouvé dans le require() puisque je pars du chemin courant?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var_dump(__dir__);
    var_dump(file_exists("views/$language/setCommon.php"));			// false
    var_dump(file_exists(__dir__ ."/views/$language/setCommon.php"));	// true
    require("views/$language/setCommon.php");
    EDIT: De même, si à la ligne 2, j'ajoute un './' devant le chemin, le fichier n'est pas trouvé.
    EDIT 2: Dans d'autres chemins, je n'ai pas ce problème. Pourquoi?

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Salut

    Que vaux $language,
    tu dis que pour d'autres chemins le problème ne se pose pas, ses chemins utilisent il aussi la variable $language ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 576
    Points : 803
    Points
    803
    Par défaut
    $language vaut 'fr', ce qui se vérifie à la ligne 3 qui renvoie true.
    Je me suis aperçu du problème quand au départ, un fichier '/frontend/views/$language/setCommon.php' était inclus à la place de '/backend/views/$language/setCommon.php' (fichiers de même nom dans un répertoire différent). Est-ce qu'il y aurait un rapport avec les notes utilisateurs -19 de la doc require de php?

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 091
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Par défaut
    Ne te fie pas trop au commentaire, il a 15 ans et est très mal noté.

    Dur de t'aider sans info sur ton arborescence.

    Mais une chose est sûre, la gestïon des chemins de include/require n'est pas très intuitive, et pour lever toute ambiguïté le mieux est d'utiliser systématiquement __DIR__ suivi du chemin d'accès du script à inclure relatif au script appelant.

    Si ça bloque, place ce chemin dans une variable et affiche-le pour vérifier qu'il est correct.

    Dans le code suivant, pourquoi mon fichier n'est pas trouvé dans le require() puisque je pars du chemin courant?
    Courant à quoi ? Au répertoire de travail, qui n'est pas forcément le repertoire du script courant.
    Voir getcwd()
    Merci à PHP 5.3 qui nous a simplifié les choses avec __DIR__
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 576
    Points : 803
    Points
    803
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Mais une chose est sûre, la gestion des chemins de include/require n'est pas très intuitive, et pour lever toute ambiguïté le mieux est d'utiliser systématiquement __DIR__ suivi du chemin d'accès du script à inclure relatif au script appelant.
    Oui, c'est peut-être fastidieux lorsqu'il devient nécessaire de reprendre son code mais c'est nécessaire.

    Citation Envoyé par Séb. Voir le message
    Si ça bloque, place ce chemin dans une variable et affiche-le pour vérifier qu'il est correct.
    Oui, c'est une de mes méthodes habituelles pour voir ce que je fais.

    Citation Envoyé par Séb. Voir le message
    Courant à quoi ? Au répertoire de travail, qui n'est pas forcément le répertoire du script courant.
    Voir getcwd()
    Merci à PHP 5.3 qui nous a simplifié les choses avec __DIR__
    Alors là je découvre la notion de répertoire de travail nouvelle pour moi. Merci
    Par contre, je ne vois pas très clair dans l'usage de __dir__ pour le paramètre action des formulaires. Faut-il mettre __dir__ avant le chemin. Et pourquoi? N'est-ce pas préférable de mettre partout un chemin absolu?

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 091
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Par défaut
    Alors là je découvre la notion de répertoire de travail nouvelle pour moi.
    Le répertoire de travail est le répertoire du tout premier script appelé.
    Il ne change pas, à moins d'utiliser chdir() ce qui est fortement casse-gueule.

    Par contre, je ne vois pas très clair dans l'usage de __dir__ pour le paramètre action des formulaires. Faut-il mettre __dir__ avant le chemin. Et pourquoi? N'est-ce pas préférable de mettre partout un chemin absolu?
    C'est un autre sujet. Pour le ACTION d'un FORM un chemin absolu comme /user/update.php ne me choque pas et __DIR__ n'y serait d'aucune utilité car il donne la racine du système de fichiers serveur, ce qui n'a rien à voir avec ce qu'on a côté web.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 576
    Points : 803
    Points
    803
    Par défaut
    Ah, d'accord, je comprends mieux. Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2016] Je cherche un code pour verifier un chemin d'acces aux fichiers
    Par christophe77100 dans le forum Excel
    Réponses: 7
    Dernier message: 02/05/2020, 12h24
  2. Chemin d'accès aux fichiers
    Par LWKTECH dans le forum Langage
    Réponses: 6
    Dernier message: 21/08/2016, 09h55
  3. [AC-2010] Accès aux fichiers joints sans chemin d'accès
    Par Amariel30 dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/02/2011, 15h30
  4. [Tomcat]Droit d'accès aux fichiers créés par une servlet
    Par loulouleboss dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 15/07/2004, 14h32
  5. [Réseau] Autorisations d'accès aux fichiers
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 19/05/2004, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo