Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/07/2011, 14h20   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
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 :
 <?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 :
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
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2011, 16h02   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 806
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 806
Points : 1 520
Points : 1 520
Il n'existe malheureusement pas de solution toute faite.
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2011, 16h59   #3
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

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

Informations forums :
Inscription : janvier 2009
Messages : 246
Points : 235
Points : 235
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"].
philodido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 08h06   #4
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 806
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 806
Points : 1 520
Points : 1 520
A noter que cette variable ne donne pas toujours la racine du serveur...
Elle donne la racine du domaine.
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 06/07/2011, 09h19   #5
Membre éprouvé
 
Homme romain escudier
Développeur informatique
Inscription : juin 2011
Messages : 300
Détails du profil
Informations personnelles :
Nom : Homme romain escudier
Âge : 22
Localisation : France, Ille et Vilaine (Bretagne)

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

Informations forums :
Inscription : juin 2011
Messages : 300
Points : 471
Points : 471
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
__________________
Pas de solution, pas de probleme

Une réponse utile (ou +1) le pouce vert
Une réponse à votre question

skeud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 11h08   #6
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
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
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 11h15   #7
Membre éprouvé
 
Homme romain escudier
Développeur informatique
Inscription : juin 2011
Messages : 300
Détails du profil
Informations personnelles :
Nom : Homme romain escudier
Âge : 22
Localisation : France, Ille et Vilaine (Bretagne)

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

Informations forums :
Inscription : juin 2011
Messages : 300
Points : 471
Points : 471
Déjà est-ce que tu utilise les session?

Un truc qui ressemble à ça:

$_SESSION["blabla"]
__________________
Pas de solution, pas de probleme

Une réponse utile (ou +1) le pouce vert
Une réponse à votre question

skeud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 11h18   #8
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
Non je n'utilise pas encore les sessions, mais au vue de mon projet je devrais les utiliser plus tard
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 11h19   #9
Membre éprouvé
 
Homme romain escudier
Développeur informatique
Inscription : juin 2011
Messages : 300
Détails du profil
Informations personnelles :
Nom : Homme romain escudier
Âge : 22
Localisation : France, Ille et Vilaine (Bretagne)

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

Informations forums :
Inscription : juin 2011
Messages : 300
Points : 471
Points : 471
Ok beh commence par la, tu vas créer une page de connexion non?
__________________
Pas de solution, pas de probleme

Une réponse utile (ou +1) le pouce vert
Une réponse à votre question

skeud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 11h24   #10
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
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.
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 11h31   #11
Membre éprouvé
 
Homme romain escudier
Développeur informatique
Inscription : juin 2011
Messages : 300
Détails du profil
Informations personnelles :
Nom : Homme romain escudier
Âge : 22
Localisation : France, Ille et Vilaine (Bretagne)

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

Informations forums :
Inscription : juin 2011
Messages : 300
Points : 471
Points : 471
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?
__________________
Pas de solution, pas de probleme

Une réponse utile (ou +1) le pouce vert
Une réponse à votre question

skeud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 11h35   #12
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
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 ?
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 11h59   #13
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 806
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 806
Points : 1 520
Points : 1 520
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/
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 12h41   #14
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

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

Informations forums :
Inscription : janvier 2009
Messages : 246
Points : 235
Points : 235
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 :
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">
philodido est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/07/2011, 13h03   #15
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 806
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 806
Points : 1 520
Points : 1 520
Citation:
Envoyé par philodido Voir le message
Tu peux faire ce genre trucs :

Code :
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.
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/07/2011, 13h06   #16
Membre éprouvé
 
Homme romain escudier
Développeur informatique
Inscription : juin 2011
Messages : 300
Détails du profil
Informations personnelles :
Nom : Homme romain escudier
Âge : 22
Localisation : France, Ille et Vilaine (Bretagne)

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

Informations forums :
Inscription : juin 2011
Messages : 300
Points : 471
Points : 471
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.
__________________
Pas de solution, pas de probleme

Une réponse utile (ou +1) le pouce vert
Une réponse à votre question

skeud est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/07/2011, 13h25   #17
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
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 :
$_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
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 13h32   #18
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 246
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

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

Informations forums :
Inscription : janvier 2009
Messages : 246
Points : 235
Points : 235
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.
philodido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 13h37   #19
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
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 ?
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 13h56   #20
Membre éprouvé
 
Homme romain escudier
Développeur informatique
Inscription : juin 2011
Messages : 300
Détails du profil
Informations personnelles :
Nom : Homme romain escudier
Âge : 22
Localisation : France, Ille et Vilaine (Bretagne)

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

Informations forums :
Inscription : juin 2011
Messages : 300
Points : 471
Points : 471
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?
__________________
Pas de solution, pas de probleme

Une réponse utile (ou +1) le pouce vert
Une réponse à votre question

skeud est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h10.


 
 
 
 
Partenaires

Hébergement Web