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 :

$_server['document_root'] dans un lien


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Par défaut $_server['document_root'] dans un lien
    Bonjour,
    Je viens de remarquer une particularité de la variable $_SERVER['DOCUMENT_ROOT']
    Elle fonctionne très bien pour inclure un fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require($_SERVER['DOCUMENT_ROOT']."/repertoire1/repertoire2/fichier.php")
    Par contre elle ne marche pas du tout lorsqu'elle est incluse dans un lien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $lien=$_SERVER['DOCUMENT_ROOT']."/repertoire1/repertoire2/fichier.php";
    echo "<a href='".$lien."'>TEXTE DU LIEN</a>";
    Quelqu'un a-t-il expérimenté et contourné cette difficulté?
    Avez-vous une autre solution pour créer un lien vers un chemin absolu dans un site?
    Merci de vos réponses, toutes les pistes sont bonnes à prendre.

  2. #2
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    Citation Envoyé par nolmel
    Bonjour,
    Je viens de remarquer une particularité de la variable $_SERVER['DOCUMENT_ROOT']
    Elle fonctionne très bien pour inclure un fichier:
    require($_SERVER['DOCUMENT_ROOT']."/repertoire1/repertoire2/fichier.php")
    Par contre elle ne marche pas du tout lorsqu'elle est incluse dans un lien:
    $lien=$_SERVER['DOCUMENT_ROOT']."/repertoire1/repertoire2/fichier.php";
    echo "<a href='".$lien."'>TEXTE DU LIEN</a>";

    Quelqu'un a-t-il expérimenté et contourné cette difficulté?
    Avez-vous une autre solution pour créer un lien vers un chemin absolu dans un site?
    Merci de vos réponses, toutes les pistes sont bonnes à prendre.

    Salut, si tu as copié-collé ton code dans ton post, il y a une erreur... (cf. rouge)

    essayes ca...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    echo "<a href=$lien>TEXTE DU LIEN</a>";
     
    OU 
     
    echo "<a href=\"$lien\">TEXTE DU LIEN</a>";
    ++
    JC

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Par défaut
    Salut, merci de t'intéresser au problème.
    Ce n'était malheureusement pas du copier-coller, l'erreur ne vient donc pas de là...snif. Mais si tu as d'autres pistes, je suis preneur !!
    Encore merci !!

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 698
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 698
    Par défaut
    Je ne comprends pas ton problème, si tu utilises la même variable aux deux endroits et que tu ne la modifie pas, tu auras la même valeur à l'interieur.

  5. #5
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut C'est évident
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $lien=$_SERVER['DOCUMENT_ROOT']."/test2.php";
    echo $lien;
    ?>
    Ce qui donne dans le navigateur:
    C:/Program Files/xampp/htdocs/test2.php

    Et donc tu cherches à faire passer au serveur un lien vers une arborescence qu'il ne connait pas car le serveur a son fichier root à 'localhost' et non à 'C:'

    Toujours se rappeler que PHP ne fonctionne que côté serveur (excepté évidemment la ligne de commande pour PHP CLI)

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Par défaut
    exactement
    il faut voir qu'il y a deux moyens d'indiquer la position (absolue) d'un fichier

    soit l'arborescence sur disque (c:\rep_site_alpha\rep1\rep2 ou /rep_site_alpha/re1/rep2 pour linux)
    soit l'url (http//:nom_du_site/rep1/rep2)

    et même si on désigne le même fichier ça ne s'utilise pas aux mêmes endroits.

    et document root correspond à l'emplacement de la racine de ton site sur l'arborescence sur le serveur (regarde comment afficher les info php tu comprendras mieux... y'a php_info() qui doit exister )


    Essaye plutot
    $lien= "http://".$HTTP_SERVER_VARS["HTTP_HOST"]."/repertoire1/repertoire2/fichier.php";


    si tu veux donner la position à un utilisateur du site (tel que sur un lien)
    tu as besoin de l'url (le truc en http//:.....)
    et donc il faut chercher la variable php qui correspond (je te propose une idée mais y'a surement une meilleure variable ou obtenir le http//:adresse_de_ton_site

  7. #7
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut ouiiiiii
    Alors là je dis chapeau bas pour l'explication

    Bravo!!

Discussions similaires

  1. Utiliser $_SERVER["DOCUMENT_ROOT"] dans balise <link>
    Par PierreBTSIG dans le forum Langage
    Réponses: 1
    Dernier message: 02/06/2008, 10h05
  2. [langage] Appel de fonction dans un lien
    Par drakan dans le forum Langage
    Réponses: 1
    Dernier message: 17/05/2005, 18h30
  3. Passage de variable dans un lien asp
    Par VirginieGE dans le forum ASP
    Réponses: 4
    Dernier message: 27/07/2004, 10h06
  4. caractère espace dans un lien ?
    Par kayser dans le forum ASP
    Réponses: 2
    Dernier message: 20/04/2004, 09h52

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