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 :

Script pour afficher le chemin relatif et absolu


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut Script pour afficher le chemin relatif et absolu
    Bonjour,

    Pouvez vous m'aider pour faire un script php pour avoir le chemin absolu et relatif.
    Objectif : Copier le fichier chemin.php dans le répertoire voulu pour m'indiquer le chemin absolu et relatif afin de verifier le chemin en cas d'erreur.

    chemin.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    echo "Fichier : chemin.php<br/>" ;
    echo "<br/>";
     
    echo "Le chemin relatif est :<br/>";
    echo realpath('chemin.php'); 
    echo "<br/>";
    echo "<br/>";
     
    echo "Le chemin absolu est :<br/>";
    echo $_SERVER['PHP_SELF'];
    ?>
    le navigateur affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Fichier : chemin.php
     
    Le chemin relatif est :
    /var/www/html/maison/admin/chemin.php
     
    Le chemin absolu est :
    /maison/admin/chemin.php
    mais le chemin s'affiche pas comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /maison/admin/chemin.php
    alors que chez moi le chemin est inscrit comme ceci dans la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ../../maison/admin/chemin.php
    Que faut il faire pour que le script m'affiche le chemin comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ../../maison/admin/chemin.php
    Merci.
    Intel I7 960 | 6 Go Ram | 5 HDD au total 3636 Go | Windows 7 Edition intégral x64 | WampServer 2.0c | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.51b
    DreamPlug | 512 mo ram | SSD 16 GO | Linux debian 2.6.39.4 | armv5tel | Lamp | PHP 5.3.3-7 | Apache 2.2.16 | Mysql 14.14

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    realpath() ne renvoie pas un chemin relatif mais un chemin absolu.
    Ta solution se trouvera dans les commentaires postés dans la doc de la fonction : http://fr2.php.net/manual/fr/function.realpath.php
    Des personnes proposent des scripts répondant à ta problématique.

    Regarde aussi les cours et tutoriels programmation PHP : http://php.developpez.com/cours/

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  3. #3
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Objectif : Copier le fichier chemin.php dans le répertoire voulu pour m'indiquer le chemin absolu et relatif afin de verifier le chemin en cas d'erreur.
    Pour avoir le chemin physique absolue il y a la constante magique : __FILE__

    Ensuite pour avoir uniquement le chemin sans le nom du fichier il y la aussi le contante magique __DIR__.

    Mais ces constantes magiques ont été introduites il n'y pas si longtemps, donc si elle n'existent pas il y la fonction dirname() qui peu palier.

    Puis pour vérifier si un chemin d'un fichier ou répertoire existe bien il y a file_exists() et is_dir().


    Puis pour tout ce qui est des chemins, il faut définir le chemin ROOT (dans une constante ou autre), c'est à mon sens le BABA.
    Soit on le met "en dur" soit en le récupérant dynamiquement (les fonctions ci-dessus).
    Ensuite il suffit de se baser sur ce chemin sur tout l'ensemble du projet.
    Il n'y a pas à rechercher 100 fois un chemin qui se doit être connu à l'avance.

    Ce que je me dis, c'est qu'il te manquerais c'est au moins 1 chemin physique (basé du root) pour dire que, si on demande tel ou tel fichier il doit exister dans un répertoire précis.
    S'il existe là où il doit être -> Ok (on traite la demande)
    S'il n'existe pas -> Erreur (traitement par défaut ou erreur 404 en général)


    Par ailleurs $_SERVER['PHP_SELF'] n'est absolument pas un chemin physique lié à son disque, mais une URL, un chemin lié au domaine.
    Ca n'a rien avoir avec un chemin physique.
    Bref, il y a 2 types de chemins, faut pas les confondre (les 2 peuvent être absolue ou relatif).
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

Discussions similaires

  1. Chemin Relatif et Absolu
    Par Z3c33 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/05/2007, 23h50
  2. [Galerie] Quel script pour afficher des reportages photos ?
    Par silvain dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 04/12/2006, 14h29
  3. Réponses: 4
    Dernier message: 07/07/2006, 12h41
  4. [access2002] [chemin Relatif Et Absolu]
    Par louroulou dans le forum Access
    Réponses: 1
    Dernier message: 02/06/2006, 14h39
  5. Script pour afficher la popup "Fermeture de session Win
    Par Childerik dans le forum VBScript
    Réponses: 1
    Dernier message: 28/12/2005, 20h11

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