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 :

Variables, Constantes, Fonctions : un arbitre SVP


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut J'essaie sans succès de décclarer un URL absolu pour mes scripts PHP
    Bonsoir,
    J'essaie de déclarer un lien vers mes pages que j'utiliserai à l'intérieur de mes code. J'ai utilisé 3 méthodes :
    1. Le lien dans une variable. La seule méthode qui marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php 
    $path = '/modele/'; //Déclaration
    require($path.'themes/template.php'); //Utilisation
    ?>
    2. Le lien dans une constante. Ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php 
    define("PATH", '/modele/');
    require(PATH.'themes/template.php'); //Utilisation
    ?>
    3. Le lien dans une fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php 
    function path($path)
    {
    return '/modele/'.$path;
    }
     
    //Utilisation - Ne marche pas
    require path('themes/template.php');
     
    //Utilation 2 - Marche
    <link href="<?php echo path('public/themes/css/home.css'); ?>" rel="stylesheet" type="text/css">
    ?>
    Quelqu'un sait pourquoi en require constante et fonction ne marchent pas?
    Quelqu'un a une meilleure idée ?

    D'avance je vous remercie

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Bonjour Alexandrebox,

    Je viens de tester les exemples que tu as mis, personnellement rien ne marche lorsque je met le / en premier.

    Il faut que t'es un chemin du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require 'themes/template.php';
    et non comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require '/themes/template.php';
    En tout cas c'est ce que j'ai pu en conclure en testant

  3. #3
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Eclydia,
    Ceci : "/" Veut dire le lien à partir de root; à partir de la racine. Donc nécessaire si les dossiers du scripts changent. Ce n'est pas ça le problème.

    Le problème est ailleurs

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php 
    $path = '/modele/'; //Déclaration
    var_dump(realpath($path.'themes/template.php'));
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php 
    define("PATH", '/modele/');
    var_dump(realpath(PATH.'themes/template.php'));
    ?>
    Que donnent ces deux codes ?
    Je ne prend pas en compte la fonction, je n'en vois pas l'utilité (à moins que le but soit d'utiliser une closure)

  5. #5
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Merci modérateur.
    J'ai testé ce que vous m'avez demandé et voici le résultat
    Résultat pour la variable : bool(false)
    Résultat pour la constante : bool(false)

    D'avance je vous remercie de m'éclairer.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 39
    Points : 45
    Points
    45
    Par défaut
    Bonjour

    Tu ne doit pas avoir le bon chemin vers ton fichier :

    realpath() retourne FALSE si une erreur survient, e.g. si le fichier n'existe pas.
    (cf la doc)

    Es tu sur que ton répertoire modele est bien à la racine de ton serveur?

Discussions similaires

  1. Fonctions constantes et variables constantes
    Par TabrisLeFol dans le forum Langages de programmation
    Réponses: 11
    Dernier message: 13/03/2006, 08h37
  2. Réponses: 4
    Dernier message: 16/02/2006, 11h40
  3. Réponses: 6
    Dernier message: 06/01/2006, 21h55
  4. "class" vector à indice variable et fonction membr
    Par icetechnik dans le forum C++
    Réponses: 14
    Dernier message: 26/11/2005, 00h46
  5. changer et afficher une variable en fonction d'un select
    Par psychoBob dans le forum Général JavaScript
    Réponses: 30
    Dernier message: 22/11/2005, 09h15

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