Se connecter / S'enregistrer
Votre question

php: cibler racine

Tags :
  • CSS
  • Programmation
Dernière réponse : dans Programmation
29 Juin 2008 22:22:46

bonsoir à tous.
J'ai pas mal galérer en php pour mes liens d'include, avant c'était du style: tu remonte d'un niveau tu redescend dans un autre dossier et comme le fichier normalement à utiliser a lui aussi un include tu regarde tel fichier qui est en réalité un doublon de l'autre pour me simplifier ect ect

là j'ai voulu tout remettre à plat pour pouvoir me simplifier mon code et avoir un truc cohérent car mon cerveau commençait à se perdre..
donc j'ai utiliser:
  1. include($_SERVER['DOCUMENT_ROOT'].'/secure/trace.php');
et ça marche niquel sauf pour désigner mon fichier de style.
il se trouve à la racine de mon site. J'ai donc essayé ça mais ça marche pas :fou: 
  1. <link rel="stylesheet" type="text/css" href="<?php echo $_SERVER['DOCUMENT_ROOT'].'/style.css'; ?> "/>


quelqu'un pourrait-il m'aider ??
merci de votre aide

Autres pages sur : php cibler racine

29 Juin 2008 22:39:00

regarde la source de <link rel="stylesheet" type="text/css" href="<?php echo $_SERVER['DOCUMENT_ROOT'].'/style.css'; ?> "/> tu va comprendre.

je crois que de tete c'est SERVER_NAME.
29 Juin 2008 22:49:58

déja un grand merci de ta réponse.

non je n'ai pas compris mon problème :S (nom du fichier correct, chemin à priori correct )

SERVER_NAME va te donner le nom du serveur (par exemple jaimelesmodo.free.fr ) et $_SERVER['DOCUMENT_ROOT'] va te donner L'espace où sont stockées les pages webs sur le serveur (par exemple moi c'est /mnt/148/sda/6/5/adeltimple ).
Contenus similaires
29 Juin 2008 23:17:05

j'ai hélas j'ai essayé de retourner le code dans tous les sens et j'ai toujours le même problème :S
mon code est: <link rel="stylesheet" type="text/css" href=<?php echo $_SERVER['SERVER_NAME'].'/style.css';?> />

es-ce que ça peut venir de mon css puisque aucune image ne s'affiche? (background et autre?)
mon css est du genre:
#global {
margin:0 auto;
float:left;
width:900px;
background:#ededed url(images/fondcontenu.png) repeat-y left top; /* c'est les côté du corp global*/
}

merci :) 
30 Juin 2008 00:25:57

insere directement :

background:#ededed url(images/fondcontenu.png) repeat-y left top;

dans la propriété style de ton div que tu as appelé global. Si ca ne marche pas, c'est que ton code css est erroné, si ca marche, mais pas avec la feuille de style, c'est que le chemin vers celle ci n'est pas correct.

que donne dans la source ce code :

<link rel="stylesheet" type="text/css" href=<?php echo $_SERVER['SERVER_NAME'].'/style.css';?> />
30 Juin 2008 09:57:14

salut.
<link rel="stylesheet" type="text/css" href=<?php echo $_SERVER['SERVER_NAME'].'/style.css';?> /> ne marche toujours pas.
Donc je l'ai supprimé et rajouté le style d ma balise div ce qui ma donné:
<div id="global" Style="background:#ededed url(images/fondcontenu.png) repeat-y left top; ">
ça ne marchait toujours pas. là je me suis dit qu'à tout les coups c'était une histoire de lien, donc j'ai mis dans le dossier ou se trouve la page une copie du dossier image et là ça marche. Hors le dossier images se trouvant à la racine du site j'ai essayé
<div id="global" Style="background:#ededed url(./images/fondcontenu.png) repeat-y left top; ">
mais ça ne marche pas :S quelqu'un aurait-il une solution?
merci de votre aide
30 Juin 2008 11:37:50

non ce n'est pas un problème de css puisque mes pages situées au même niveau que le fichier css n'ont aucun problème et que dans le fichier en question si je met du html pure ça marche ( <link rel="stylesheet" type="text/css" href="../style.css"/> )
mais le truc c'est que je voudrais avoir un code qui marche tout le temps (même si je met ce code encore dans un sous dossier c'est à dire 3 dossiers dessous le fichier style) en gros désigner l'emplacement du fichier style par rapport à la racine (puisque ça restera fixe) plutot que par rapport à l'emplacement de la pge qui l'appel (qui peut varier)
a c 232 L Programmation
1 Juillet 2008 10:58:11

On accède pas à la racine du site avec ./ qui est le répertoire courant, mais avec /
Donc avec <div id="global" Style="background:#ededed url(./images/fondcontenu.png) repeat-y left top; "> ça devrait le faire.

Sinon il faut écouter ce que okinou te dit, et nous donner ce que t'affiches dans la source <link rel="stylesheet" type="text/css" href=<?php echo $_SERVER['SERVER_NAME'].'/style.css';?> />

Citation :
que donne dans la source ce code :

<link rel="stylesheet" type="text/css" href=<?php echo $_SERVER['SERVER_NAME'].'/style.css';?> />
1 Juillet 2008 11:26:55

il y a une contradiction dans ton premier paragraphe, non?

je comprend pas ce que tu veut que je donnes

Citation :
Sinon il faut écouter ce que okinou te dit, et nous donner ce que t'affiches dans la source <link rel="stylesheet" type="text/css" href=<?php echo $_SERVER['SERVER_NAME'].'/style.css';?> />


mais si je fais
  1. <link rel="stylesheet" type="text/css" href="/style.css" />
ça désigne bien le répertoire racine?
a c 232 L Programmation
1 Juillet 2008 12:28:26

oups, en effet, j'ai oublié d'enlever le . dans ce que j'ai copié/collé.
<div id="global" Style="background:#ededed url(/images/fondcontenu.png) repeat-y left top; ">

Si tu fais /style.css ça désigne le répertoire racine par rapport à http://localhost (ou http://nomdetonserveur). Ca voudrait dire http://localhost/style.css EDIT : dans ce cas c'est par rapport à http://localhost, car pour un <link> les href fonctionnent en fonction du nom du serveur, et pas de l'emplacement dans le système de fichier
Mais tu n'as toujours pas donné ce que ça t'affiches dans la source de ta page :) 
1 Juillet 2008 13:48:09

  1. <?php
  2. session_start();
  3. include("../secure/connexion.php");
  4. include($_SERVER['DOCUMENT_ROOT'].'/secure/connexion.php');
  5. include($_SERVER['DOCUMENT_ROOT'].'/secure/browser.php');
  6. include($_SERVER['DOCUMENT_ROOT'].'/secure/trace.php');
  7. include($_SERVER['DOCUMENT_ROOT'].'/menbre/fckeditor/fckeditor.php');
  8.  
  9.  
  10. ?>
  11.  
  12. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" rel="nofollow" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
  13. <html xmlns="<a href="http://www.w3.org/1999/xhtml" rel="nofollow" target="_blank">http://www.w3.org/1999/xhtml</a>">
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  16. <title>news informatiques</title>
  17.  
  18. <link rel="stylesheet" type="text/css" href=<?php echo $_SERVER['SERVER_NAME'].'/style.css';?> />
  19.  
  20. </head>
  21. <body>
  22.  
  23. <div id="global">


c'est ça que tu voulais?
merci de ton aide
a c 232 L Programmation
1 Juillet 2008 18:26:56

non, une fois que tu affiches ta page, tu affiches le code source html...
comme ça tu auras ton <link> avec le vrai href généré par PHP, et tu pourras voir ce qui ne va pas :) 
3 Juillet 2008 00:21:00

désolé pour le délais.
La source est:
<link rel="stylesheet" type="text/css" href="adeltimple.free.fr/style.css" />

je pencherais donc plutot pour un prb de liens mais dans mon css, non??
a c 232 L Programmation
3 Juillet 2008 11:41:50

remplace les ./ par des / dans ton CSS
3 Juillet 2008 12:52:15

ça ne marche tjr pas :S
pas grave je vais tourner avec mon
<link rel="stylesheet" type="text/css" href="../style.css" />
(code qui marche) mais si je met une page encore dans un sous repéertoire, ça va faire un code un peu sale, mais c'est pas grave
merci quand même à vous 2 :) 
a c 232 L Programmation
3 Juillet 2008 14:33:26

A mon avis, c'est parce qu'il faut mettre http:// devant adeltimple.free.fr/style.css
donc : <link rel="stylesheet" type="text/css" href=<?php echo 'http://'.$_SERVER['SERVER_NAME'].'/style.css';?> />

Car s'il n'y a pas les http:// il croit que c'est le répertoire qui s'appelle adeltimple.free.fr, et il ne le trouve pas... (normal :p )
3 Juillet 2008 15:09:35

niquel!! ça marche!!! tu m'as encore sortit d'un beau problème OmaR_ShaRi f !! merci!!
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS