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 :

Realpath fonctionne avec le navigateur d'eclipse mais pas firefox


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 33
    Par défaut Realpath fonctionne avec le navigateur d'eclipse mais pas firefox
    Bonjour à tous !

    Voila je n'arrive pas à mettre en global mon fichier css avec la fonction
    realpath !

    j'ai pas trop compris leur explication sur php.net !
    et je ne comprend ce que c'est un chemin canonique ?

    en bref je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     /*** define the site path ***/
     $site_path = realpath(dirname(__FILE__));
     define('__SITE_PATH', $site_path);
     
    // voila mon problème
    define('MAIN_CSS', __SITE_PATH. '/src/css/default.css');
    le style ne s'affiche pas dans firefox mais dans eclipse ! c'est  bizard !
     
    //ca me retourne un chemin du genre:
    C:\xampp\htdocs\monprojet/src/css/default.css"
     
     
    // ca ca marche mais bon c'est pas fiable je pense
    // selon si je suis en dev ou en prod
     define('MAIN_CSS', 'http://' .$_SERVER['HTTP_HOST'] . substr($_SERVER['REQUEST_URI'], 0, 18) .'src/css/default.css');
    bref je sais pas trop comment faire !

    merci d'avance !

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Par défaut
    Bonjour,

    la fonction dirname te retourne le chemin du fichier passé en paramètre (en l'occurrence __FILE__, le fichier courant)

    mais ce chemin est absolu (en partant de la racine du système de fichiers), et pas du tout "relatif" (relatif à la racine de ton site web).

    realpath transforme un peu un chemin (résoud les liens symboliques, transforme les "." et ".."), mais ne rend pas ce derneir "relatif".

    or, dans le cas d'un site web, le visiteur n'a, au maximum, accès (directement) qu'aux fichiers et dossiers à partir de la "racine du serveur" (document root).

    si par exemple, le "document root" est : "C:\xamp\htdocs"
    pour atteindre la CSS (C:\xampp\htdocs\monprojet/src/css/default.css)
    un visiteur devra utilisé le chemin "/monprojet/src/css/default.css".
    c'est donc ce chemin qui devra se trouver dans la balise "link"

    au final, je ferais plutot quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    define('__SITE_PATH', '/monprojet');
    define('__CSS_PATH', __SITE_PATH. '/src/css');
     
    echo '<link rel="stylesheet" href="'.__CSS_PATH.'/default.css" type="text/css" />'
    j'espère que mes explications sont assez clair... :s

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/04/2009, 16h29
  2. Applet fonctionne sous eclipse mais pas sous FF
    Par quentin06 dans le forum Applets
    Réponses: 14
    Dernier message: 22/11/2008, 15h23
  3. Réponses: 6
    Dernier message: 07/09/2008, 17h31
  4. Réponses: 1
    Dernier message: 15/04/2008, 14h03
  5. Programme fonctionnant sur Eclipse mais pas avec le jar?
    Par kirik dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 10/02/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