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 :

Variable Racine Serveur


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut Variable Racine Serveur
    Bonjour,
    novice en Php pour mon projet de stage je voudrais savoir si il était possible de créer ou si cela existe d'avoir une variable qui indique la racine du serveur.

    Exemple pour remplacer les chemins relatif

    mon architecture :

    _ racine

    __ formulaire (dossier)
    ____ monformulaire.php

    __ img (dossier)

    _index.php (dans le repertoire racine)
    _footer.php (idem)
    _ ...


    Lorsque que j'ai fait des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <?php include("../header.php"); ?>
    il me charge bien les fichiers mais il ne charge pas les images qui sont dans le dossier img car l'appel dans le header.php est fait comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img alt="Logo" src="./img/logo.png" border="0">
    Il me faudrait une variable racine pour que les appels partent tjs de la racine du serveur.


    merci

  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
    Il n'existe malheureusement pas de solution toute faite.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Bonjour,

    Si je comprend bien d'après les exemples que tu donnes, c'est la racine de ton site que tu veux : $_SERVER["DOCUMENT_ROOT"].

  4. #4
    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
    A noter que cette variable ne donne pas toujours la racine du serveur...
    Elle donne la racine du domaine.

  5. #5
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Avec getcwd() tu peux récupérer ton repertoire courant.
    si tu utilise les session, tu peux stocket le getcwd de ta page index.php dans une variable de session puis définir dans cette variable le path réel de chacun de tes dossiers (source, img, ....)

    Perso je fais comme ça.

    Ensuite sans les session, tu récupère le repertoire courant, remonte dans ta chaine en supprimant jusqu'à arriver a la racine de ton site:

    imaginons un path comme ça:
    /var/www/monsite/intra/module/
    tu remonte
    /var/www/monsite/intra/
    tu remonte
    /var/www/monsite/
    Ah on arrive à la bonne chaine, on ajoute donc le dossier des images
    /var/www/monsite/img/
    Et on concatène avec l'image voulu
    /var/ww/monsite/img/mon_image.jpg
    Et tu as plus qu'a mettre cette chaine dans le src de ton image

    En espérant que ça répond à ta question

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut
    En faite en ayant bien regardé, il faudrait que je déclare une constante pour indiquer:

    l'emplacement du dossier /css pour que mon gloabl.css soit détecté

    et une constante pour indiquer la racine qui n'est pas localhost mais localhost/monSite/

    Avec cette constante je pourrais effectivement appelé mes images tous le temps à partir de la racine et non du dossier courant.

    Aurais tu un exemple à me montré comme je t'ai dit je débute et je me perdu n peu avec tous ca


    Merci a tous pour vos réponse

  7. #7
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Déjà est-ce que tu utilise les session?

    Un truc qui ressemble à ça:

    $_SESSION["blabla"]

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut
    Non je n'utilise pas encore les sessions, mais au vue de mon projet je devrais les utiliser plus tard

  9. #9
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Ok beh commence par la, tu vas créer une page de connexion non?

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut
    Oui,
    une partie Création compte et une partie Login.

    je me suis rendu compte du prb de ne pas avoir de constante racine lors de mon script pour la partie creation de compte car ma page de validation n'est pas à la racine du serveur mais dans un sous dossier.

  11. #11
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    tu peux envoyer le code de ta page de connection que je sache quoi te dire de rajouter pour que ça fonctionne bien les constante?

  12. #12
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut
    Je n'ai pas encore fait ma page de connexion uniquement la page de création de compte

    (formulaire + un page de traitement pour envoyé les infos en BDD avec redirection auto sur une page confirmation)

    La souhaites tu ?

  13. #13
    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
    Sinon il existe une solution si tu utilises un VHost.
    Il est possible de définir des alias et donc de faire pointer css/ sur http://tondomaine.com/undossier/unautredossier/css/

  14. #14
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Citation Envoyé par bouuuh Voir le message
    l'emplacement du dossier /css pour que mon gloabl.css soit détecté...et une constante pour indiquer la racine qui n'est pas localhost mais localhost/monSite/
    Tu peux faire ce genre trucs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <link rel="stylesheet" type="text/css" href="<?php echo $_SERVER["DOCUMENT_ROOT"]; ?>/monsite/css.css" />
    // Pour les include : 
    <?php include("{$_SERVER['DOCUMENT_ROOT']}/monsite/header.php"); ?>
    // Pour les images :
    <img alt="Logo" src="<?php echo $_SERVER["DOCUMENT_ROOT"]; ?>/monsite/img/logo.png" border="0">

  15. #15
    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
    Citation Envoyé par philodido Voir le message
    Tu peux faire ce genre trucs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <link rel="stylesheet" type="text/css" href="<?php echo $_SERVER["DOCUMENT_ROOT"]; ?>/css.css" />
    // Pour les include : 
    <?php include("{$_SERVER['DOCUMENT_ROOT']}/header.php"); ?>
    // Pour les images :
    <img alt="Logo" src="<?php echo $_SERVER["DOCUMENT_ROOT"]; ?>/img/logo.png" border="0">
    En rajoutant aussi monSite dans le chemin, car comme je l'ai précédemment dit $_SERVER['DOCUMENT_ROOT'] ne pointera pas sur monSite mais sur localhost.

  16. #16
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par transgohan Voir le message
    En rajoutant aussi monSite dans le chemin, car comme je l'ai précédemment dit $_SERVER['DOCUMENT_ROOT'] ne pointera pas sur monSite mais sur localhost.
    cette solution est la plus adapté je pense.

  17. #17
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut
    Cette solution pourrait convenir.
    Mais ce qui me gène c'est que si le site change de place (car je suis en local) et il devrait finir sur un intranet dont je ne connais pas l'architecture et son emplacement final tous les liens seront a ré-éditer.

    est-il possible de définir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SERVER['DOCUMENT_ROOT']
    dans un fichier comme /config/conf.inc.php et de lui apporter une modification pour lui indiquer le dossier du site.

    Ainsi en faisant cela si le site migre autre part j'aurais uniquement cette ligne à modifier.

    Merci à tous

  18. #18
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Citation Envoyé par bouuuh Voir le message
    Ainsi en faisant cela si le site migre autre part j'aurais uniquement cette ligne à modifier.Merci à tous
    De toutes façons même si le site change de place, il changera de serveur et $_SERVER['DOCUMENT_ROOT'] changera en fonction, donc tu n'aura pas de soucis.

    Comme dit plus haut il faut que tu rajoute /nomsite après $_SERVER['DOCUMENT_ROOT'], c'est un oubli de ma part, je modifie mon post précédent.

  19. #19
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 97
    Points : 84
    Points
    84
    Par défaut
    Donc si je comprend bien :

    $_SERVER['DOCUMENT_ROOT'] ----> pointe le serveur (http://localhost)

    $_SERVER['DOCUMENT_ROOT']/monSite ----> (http://localhost/monSite/)


    N'ayant pas encore eu d'info sur l'emplacement définitif sur Intranet si le site se retrouve:

    http://intranet/DossierA/DossierB/DossierC/

    les déclarations devront etre : $_SERVER['DOCUMENT_ROOT']/DossierA/DossierB/DossierC/

    Donc tous sera à ré-éditer non ?

  20. #20
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Hum corriger moi si jeme trompe mais avec un $_SERVEUR["SELF"] dans l'index et un peu de parsage, on peut retrouver la base du site si le site se trouve sur la racine du site?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/05/2014, 12h10
  2. valeur d'une variable locale ?:serveur lié
    Par realtolive dans le forum Développement
    Réponses: 1
    Dernier message: 12/04/2012, 19h01
  3. les variables de serveur
    Par ilhamzinedine dans le forum ASP.NET
    Réponses: 5
    Dernier message: 02/12/2010, 14h40
  4. Problème de racine serveur
    Par yorukaze dans le forum Langage
    Réponses: 5
    Dernier message: 09/09/2009, 21h00
  5. Réponses: 15
    Dernier message: 24/01/2009, 23h24

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