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 :

remplacement de chaine [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut remplacement de chaine
    Bonjour le forum !

    je viens à vous car j'ai un petit projet à realiser et je ne sais si c'est possible ni part quel bout le prendre.

    Voila mon objectif :
    J'ai un dossier nommé "dossier1" avec un fichier index.php dedans
    J'ai un deuxième dossier nommé "dossier2" avec un fichier index.php dedans. les deux dossiers sont sur le même niveau d'arboresance.
    Tous les fichiers index.php sont identiques et contiennent deux chaines de caractères que je souhaite remplacer [toto1] et [toto2].
    J'ai ensuite un fichier excel sous cette forme :

    site [toto1] [toto2]
    dossier1 pierre antoine
    dossier2 sophie claire


    Je souhaiterais donc remplacer dans le dossier 1, [toto1] et [toto2] par pierre et antoine et remplacer dans le dossier 2, [toto1] et [toto2] par sophie et claire.

    En gros c'est du remplacement automatisé
    Voila j'espère être clair :-)

    Merci de votre retour et de votre aide !!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    PS : j'ai peut être une idée, quelque chose comme lancer un fichier php qui va ouvrir index.php du dossier1 et ouvrir mon fichier excel et prenant la valeur pierre et antoine et procèder au remplacement.
    Puis il faire de même avec le dossier 2

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 201
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    1/ Lire le fichier excel avec PHPExcel ou un autre lecteur de xls
    2/ Utiliser str_replace("[toto]", $mon-id-issu-de-excel, $content);

    Voila pour les pistes de reflexions.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Merci de votre réponse.
    Je suis sur une nouvelle méthode sans utiliser excel, j'arrive à ce 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
    35
    36
    37
    38
    39
    ?PHP 
    //===========1 lire le repertoire de PHP======================
    $data = glob('originaux/index1.php'); 
    $Php_Lignes = array();
    $i = 0;
    echo ("<html><body><p align=center>");
    foreach( $data as $filename)
      {
        if (is_file($filename) )
         {
           $work = $filename;
           $NewPhp=str_replace("originaux","destination",$work);
          //============a chaque php le lire=================
          $work = file($filename);
     
          $NbrLig=count($work)-1;
          //========pur un PHP on entre dans son texte=====
     
          for($a=0;$a<=$NbrLig;$a++)
           {
              /* Changer un truc par exemple */
             $work[$a]=str_replace("toto1","pierre",$work[$a]); 
    		 $work[$a]=str_replace("toto2","alain",$work[$a]); 
           }
          // ============ecrire fichier resultat=======
          $LeFichier=fopen($NewPhp,"w+");
          for($b=0;$b<$NbrLig;$b++)
           {
            $LeTexte=$work[$b];
            fputs($LeFichier,$LeTexte."");    
           }
          fclose($LeFichier);
          echo ("fichier ".$NewPhp." OK<br />");
          // ==============fin d un fichier==========
         }
     }
    echo ("<br /></p></body></html>");  
     
    ?>
    Cela fonctionne mais si j'ai deux fichiers à traiter ( je veux utiliser un seul script) j'utilise ce code mais seul le fichier 2 est traité pas le 1 :-(

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    ?PHP 
    //===========1 lire le repertoire de PHP======================
    $data = glob('originaux/index1.php'); 
    $Php_Lignes = array();
    $i = 0;
    echo ("<html><body><p align=center>");
    foreach( $data as $filename)
      {
        if (is_file($filename) )
         {
           $work = $filename;
           $NewPhp=str_replace("originaux","destination",$work);
          //============a chaque php le lire=================
          $work = file($filename);
     
          $NbrLig=count($work)-1;
          //========pur un PHP on entre dans son texte=====
     
          for($a=0;$a<=$NbrLig;$a++)
           {
              /* Changer un truc par exemple */
             $work[$a]=str_replace("toto1","pierre",$work[$a]); 
    		 $work[$a]=str_replace("toto2","alain",$work[$a]); 
           }
          // ============ecrire fichier resultat=======
          $LeFichier=fopen($NewPhp,"w+");
          for($b=0;$b<$NbrLig;$b++)
           {
            $LeTexte=$work[$b];
            fputs($LeFichier,$LeTexte."");    
           }
          fclose($LeFichier);
          echo ("fichier ".$NewPhp." OK<br />");
          // ==============fin d un fichier==========
         }
     }
    echo ("<br /></p></body></html>");  
     
    ?>
    ?PHP 
    //===========1 lire le repertoire de PHP======================
    $data = glob('originaux/index2.php'); 
    $Php_Lignes = array();
    $i = 0;
    echo ("<html><body><p align=center>");
    foreach( $data as $filename)
      {
        if (is_file($filename) )
         {
           $work = $filename;
           $NewPhp=str_replace("originaux","destination",$work);
          //============a chaque php le lire=================
          $work = file($filename);
     
          $NbrLig=count($work)-1;
          //========pur un PHP on entre dans son texte=====
     
          for($a=0;$a<=$NbrLig;$a++)
           {
              /* Changer un truc par exemple */
             $work[$a]=str_replace("toto1","sylvie",$work[$a]); 
    		 $work[$a]=str_replace("toto2","cecile",$work[$a]); 
           }
          // ============ecrire fichier resultat=======
          $LeFichier=fopen($NewPhp,"w+");
          for($b=0;$b<$NbrLig;$b++)
           {
            $LeTexte=$work[$b];
            fputs($LeFichier,$LeTexte."");    
           }
          fclose($LeFichier);
          echo ("fichier ".$NewPhp." OK<br />");
          // ==============fin d un fichier==========
         }
     }
    echo ("<br /></p></body></html>");  
     
    ?>
    Ou me suis trompé ? oO

    merci d'avance !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 201
    Points : 150
    Points
    150
    Par défaut
    il y a 2 fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ("<html><body><p align=center>");
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ("<br /></p></body></html>");
    ce qui fait qu'une page ecrase l'autre a mon avis...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Merci ca fonctionne :-)

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

Discussions similaires

  1. [Système] Remplacer une chaine par un lien hypertexte
    Par Bisûnûrs dans le forum Langage
    Réponses: 10
    Dernier message: 06/06/2007, 09h34
  2. Réponses: 7
    Dernier message: 27/09/2005, 11h54
  3. Word ole et demande de remplacement de chaine
    Par dd16 dans le forum Langage
    Réponses: 6
    Dernier message: 24/09/2005, 12h56
  4. Réponses: 9
    Dernier message: 31/05/2005, 14h34
  5. Réponses: 4
    Dernier message: 16/04/2004, 16h31

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