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 :

substring ou autre à partir d'une virgule ou autre fonctions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 285
    Par défaut substring ou autre à partir d'une virgule ou autre fonctions
    Bonjour,
    J'ai un fichier texte contenant une liste d'utilisateurs organiser de la façon suivante (le nombre de charactère pour les initiales est variables).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    no1pre1, Nom1 Prenom1
    no2pre2, Nom2 Prenom2
     
    etc...
    J'aimerais récupérer les abriéviations toutes les abréviations pour faire une opérations md5 pour chaque abréviation. Au départ j'avais pensé utilisé la fonction substring mais le problème c'est le nombre de charactère est variable pour les abréviations.

    Donc là je suis un peu perdu. Je sais que l'on peut utiliser explode avec "," en paramètre mais je vois pas comment mettre tout ça en oeuvre.

  2. #2
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    salut,
    Si tu souhaites utiliser la fonction explode il suffit de faire :

    Code php : 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
     
    $filename = "monfichier.txt" ;
    $dataFile = fopen( $filename, "r" ) ;
     
    if ( $dataFile )
      {
       while (!feof($dataFile))
       {
           $line = fgets($dataFile, 4096);
           if(!empty($line))
           {
              $arLine = explode(',', $line);
              $arAbre[] = md5($arLine[0]); 
           }
     
       }
       fclose($dataFile);
      }
      else
      {
    	die( "fopen failed for $filename" ) ;
      }
    un exemple qui récupère toutes les abréviations dans un tableau $arAbre.
    Ensuite selon les traitements que tu veux apporter, tu peux procéder à ta guise.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    Le mieux à mon avis s'il te faut uniquement l'abréviation (donc le premier élément avant la virgule), c'est d'utiliser strpos() combiné à un substr...

  4. #4
    Membre éclairé

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 285
    Par défaut
    Ok pis pour afficher le résultat c'est à dire le texte crypté? J'ai ajouter une variable $alt et le resultat final est md5($arLine[i].$alt)

    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
     
    $filename = "monfichier.txt" ;
    $dataFile = fopen( $filename, "r" ) ;
    $salt = ": phrase type";
     
     
    if ( $dataFile )
      {
       while (!feof($dataFile))
       {
           $line = fgets($dataFile, 4096);
           if(!empty($line))
           {
              $arLine = explode(',', $line);
              $arAbre[] = md5($arLine[0]); 
           }
     
       }
       fclose($dataFile);
      }
      else
      {
    	die( "fopen failed for $filename" ) ;
      }
    Mais je vois pas comment faire. Le but final est de récupérer pour chaque ligne un texte crypté et l'afficher et encore mieux l'inserer dans une table de base de donnée dans un champs password par exemple.

  5. #5
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    2 solutions :
    1. tu réalises le traitement pendant le parcours du fichier.
    2. tu crées un tableau (le cas échéant) pendant le parcours du fichier et par la suite tu gères à partir de ce tableau.

    solution 1 :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $md5Abre = md5($arLine[i].$alt);
    // traitement (insertion dans une BDD ou bien affichage)
    solution 2 :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    foreach($arAbre as $md5Abre)
    {
      // insertion dans une BDD
      $sql = "INSERT INTO maTable SET maVar='$md5Abre'";
      ...
      ...
     // ou bien affichage (pour l'exemple un simple echo)
     echo $md5Abre; 
    }

  6. #6
    Membre éclairé

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 285
    Par défaut
    J'ai essayé ta version 1 justement mais je vois pas comment faire varier i. Désolé je suis débutant.

    j'ai essayé de faire comme ça :

    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
     
    $filename = "alleNamenTI.txt" ;
    $dataFile = fopen( $filename, "r" ) ;
    $salt = ": Erfolg dank Prozessmodellierung";
     
    if ( $dataFile )
      {
       while (!feof($dataFile))
       {
           $line = fgets($dataFile, 4096);
     
           if(!empty($line))
           {
              $arLine = explode(',', $line);
              $nombre = count($arLine);
            	  for ($i = 0;$i<= $nombre; $i++){
              $arAbre[$i] = md5($arLine[$i].$alt); 
    	  echo $arArbre[$i];}
           }
     
       }
       fclose($dataFile);
      }
      else
      {
    	die( "fopen failed for $filename" ) ;
      }
    Mais je n'ai aucun affichage

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

Discussions similaires

  1. Requête update à partir d'une autre table
    Par amiral thrawn dans le forum Langage SQL
    Réponses: 5
    Dernier message: 15/02/2024, 11h40
  2. Réponses: 1
    Dernier message: 04/08/2014, 13h26
  3. [Débutant] Calculer une date a partir d'une durée et autre date
    Par saritta.sam dans le forum C#
    Réponses: 5
    Dernier message: 20/05/2013, 13h11
  4. [AC-2000] Remplacer une valeur par une autre à partir d'une requête
    Par tibogaet dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 10/08/2009, 14h23
  5. passer onglet à l'autre à partir d'une cellule selectionnée
    Par fllaurence dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/02/2008, 18h42

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