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 :

Ouvrir un fichier en fonction d'un autre [Fait]


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut Ouvrir un fichier en fonction d'un autre
    voilà mon problème

    j'ai une page index.php avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    if (!isset($_GET["page"])) { $page = ""; }else{ $page = $_GET["page"]; } // contrôle de $_GET["page"]
    // et assignation d'une valeur à $page
    include("moteur.php"); // inclusion de moteur.php
    echo template($page); // appel à la fonction template() et affichage du résultat
    ?>
    cette page appelle moteur.php dont voici une partie du code :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    function template($page) {
    // on s'occupe de la présentation
     
    *****Ici je voudrais tester si il s'agit de presentation.php ou de presentationEnglishVersion.php *****
    
    $index = "presentation.php"; // chemin du fichier
    
    // ouverture du fichier
    $ouvrir = fopen ($index, "rb"); 
     // lecture du fichier et stockage de l'index dans une variable
    $affichage = fread ($ouvrir, filesize ($index));
    // fermeture du fichier
    fclose ($ouvrir); 
    // on s'occupe du contenu
    switch ($page) { 
    //Version anglaise
    case "EnglishVersion": $include = "accueil.inc"; break;
    //ICI DIVERS CASE TRAITES
    //affichage de la page d'accueil pas défaut
    default:$include = "accueil.inc";
     
     // ouverture du fichier
    }$ouvrir = fopen ($include, "rb");
    // lecture du fichier et stockage du contenu dans une variable
    $contenu = fread ($ouvrir, filesize ($include));
    // fermeture du fichier
    fclose ($ouvrir); 
    // expression régulière pour le remplacement des variables
    $affichage = ereg_replace("\[CONTENU\]", $contenu, $affichage); // remplacement de [CONTENU]
    // on retourne le code à afficher
    return $affichage;
    }
    ?>
    Au départ moteur.php ouvre ma page presentation.php
    Cette page contient un lien pour ouvrir la même page mais en anglais : presentationEnglishVersion.php
    Dans ma page moteur.php $index=presentation.php Il faudrait que $index=presentationEnglishVersion.php quand cette page est à l'écran

    J'espère avoir été clair

  2. #2
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Le plus simple serait de mettre tes deux liens sur la page comme sa l'utilisateur pourra y accéder quand il le souhaite. Tu peux aussi utiliser les sessions pour stocker la langue utilisée.

    Sinon pour répondre à ta question, tu peux aussi utiliser la variable $_SERVER['PHP_SELF']. Plus d'infos sur la Doc officielle
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

  3. #3
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    tu fait un $_GET[lg] ou $_SESSION[lg] !!
    lg pour langue.

    genre tu clique sur le drapeau anglais qui a comme lien index.php?lg=en
    tu chope le resultat dans ta page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ( $_GET[lg] == "en" )
    {
          echo "";
    }
    else
    {
         echo "";
    }
    ca t'aide ??

  4. #4
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Est ce que j'ai bien compri :

    quand je clic sur le lien pour l'anglais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="PresentationEnglishVersion.php"><img border="0" src="images/yd_gr-bretagne.gif">
    je remplace <a href="PresentationEnglishVersion.php"> par <a href="index.php?lg=en">

    et sur la page moteur.php je dois avoir :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    function template($page) {
    if ($_GET[lg] == "en")
    {
    $index = "presentationEnglishVersion.php";
    $ouvrir = fopen ($index, "rb"); 
    $affichage = fread ($ouvrir, filesize ($index)); 
    fclose ($ouvrir); 
    switch ($page) { 
    case "history":$include = "history.inc"; break;
    .......
    }
    }
    else
    {
    $index = "presentation.php"; 
    $index = "presentationEnglishVersion.php";
    $ouvrir = fopen ($index, "rb"); 
    $affichage = fread ($ouvrir, filesize ($index)); 
    fclose ($ouvrir); 
    switch ($page) { 
    case "historique":$include = "historique.inc"; break;
    ......
    }
    }
    Est ce que c'est bien çà?

  5. #5
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    bah moi j'include direct mes fichiers php mais apres tu fais comme tu veux

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Ok j'ai bien compris mais avant de tous modifier est que tu peux confirmer que ça va marcher.

    Merci encore

  7. #7
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Le mieux est de tester toi même non ?
    Consultant idéaliste.

  8. #8
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    ok je le marque comme résolu pour le moment

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

Discussions similaires

  1. [XL-2007] Ouvrir un fichier en fonction du nom
    Par bob456 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/07/2013, 09h18
  2. [XL-2003] Ouvrir un fichier déjà ouvert par un autre utilisateur
    Par gangsterus dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/12/2011, 18h03
  3. Comment supprimer des lignes d'un fichier en fonction d'un autre fichier
    Par Ohemeg dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 21/04/2009, 13h56
  4. Ouvrir un fichier en fonction de la date
    Par Bastien06 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/03/2009, 17h49
  5. Mettre à jour un fichier en fonction d'un autre
    Par k6971 dans le forum Langage
    Réponses: 4
    Dernier message: 07/12/2006, 14h08

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