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 :

Include fichier dynamique


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut Include fichier dynamique
    Bonjour,

    l'arborescence de mon site est comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    |- page1.php
    |-scripts
        |- fichier.php
    |- js
        |-javascript.js
    |- admin
        |- page2.php
    |-...
    Je dois appeler dans page1 et page2 le même script fichier.php à partir de mon javascript javascript.js
    Or je ne sais pas quoi mettre dans javascript.js car page1 est placé à la racine alors que page2 est dans un dossier admin.

    Si je met "../scripts/fichier.php" le require fonctionne pour page2 alors que si je met "./scripts/fichier.php" c'est page1 qui fait le lien.
    Comment faire un include dynamique depuis page1.php et page2.php vers fichier.php ?

    Merci

  2. #2
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Peut être que je n'ai pas les idées claires mais ....
    Comment faire un include dynamique depuis page1.php et page2.php vers fichier.php ?
    A priori ce serait plutôt statique étant donnée que la position des fichiers est statique non ?
    Je n'ai pas bien compris qui appelle qui
    En gros ../ te permet de remonter d'une branche dans l'arborescence pour deux tu ferais ../../. Et avec / tu démarre de la racine du serveur.
    Si tu exécute ton script depuis admin et que tu veux charger fichier.php qui se trouve dans script, il faut appeler: ../scripts/fichier.php.
    Il faut juste ne pas s'embrouiller.

  3. #3
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    En faite le cheminement de traitement est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    page1.php -> javascript.js -> fichier.php
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    page2.php -> javascript.js -> fichier.php
    Or la page 1 et 2 ne sont pas au même endroit donc que dois je mettre dans mon fichier javascript.js pour appeler ce fichier "fichier.php" ?

    J'espère avoir été clair, merci de ton aide

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Et si tu essayais en mettant un chemin complet ?
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="http://www.domaine.com/js/javascript.js"></script>
    Une autre petit truc, c'est de définir dans le HTML le répertoire du wwwRoot avec un : base href.
    Ca se place dans le <head>, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <!DOCTYPE  ... >
    <html>
    <head>
    <title>page</title>
    <!-- Chemin du wwwRoot -->
    <base href="http://www.domaine.com/" />
    <script type="text/javascript" src="js/javascript.js"></script>
    </head>
     
    <body>
    ... bla bla bla
    </body>
    </html>
    Ensuite, tous les fichiers seront en relations de ce chemin, comme les images, css, etc ...
    Théoriquement ça devrait le faire.

  5. #5
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Je comprends mieux ton problème.

    La proposition de RunCodePhp fonctionne à coup sûr, mais l'inconvénient est la non portabilité du code sur un autre site. Par exemple si ton site est testé en local et que tu transfert ton code vers un hébergeur.

    Je te suggère donc d'utiliser la variable $_SERVER['DOCUMENT_ROOT'] puis d'y concaténer le chemin absolu de la page appelée.

  6. #6
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par riete Voir le message
    Je comprends mieux ton problème.

    La proposition de RunCodePhp fonctionne à coup sûr, mais l'inconvénient est la non portabilité du code sur un autre site. Par exemple si ton site est testé en local et que tu transfert ton code vers un hébergeur.
    Disons que j'allais y venir, je ne voulais pas mettre la charrue avant le boeufs ... faut savoir en 1er si la technique était la bonne.
    Mettre "en dur" les chemins dans un 1er temps ça va bien plus vite pour le vérifier ... après on essai d'automatiser ça, rendre les chose plus "dynamiques".


    A coté de ça, un $_SERVER['DOCUMENT_ROOT'] renvoie un chemin type "physique", en relation avec le disque, ça ne renvoie pas une URL quoi.
    Faut distinguer 2 types de chemins :
    - type URL : http://www.domaine.com
    - type physique : /web/domaine/www/

    Dans un cas comme celui ci, avoir un fichier genre config.php qui définirait une bonne fois pour toute les différents chemins serait une solution (parmi d'autres).
    S'il y a un changement d'hébergeur ou de nom de domaine, suffit de mettre à jours le contenu config.php et tout le reste suivra.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. nom de fichier dynamique
    Par F.Victoire dans le forum Delphi
    Réponses: 5
    Dernier message: 23/06/2006, 15h31
  2. Inclure un fichier dynamique
    Par cyrill.gremaud dans le forum Langage
    Réponses: 12
    Dernier message: 16/03/2006, 16h04
  3. [HTML] include('fichier.swf')
    Par carter15_2001 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 27/02/2006, 13h11
  4. Execution / include fichier html
    Par VoLc0m dans le forum ASP
    Réponses: 12
    Dernier message: 20/05/2005, 12h29
  5. include fichier distant
    Par noarno dans le forum ASP
    Réponses: 2
    Dernier message: 05/04/2004, 17h47

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