[PHP] manipulation de 2 fichiers textes
Résolu/Fermé
neo_selen
Messages postés
153
Date d'inscription
dimanche 11 juillet 2010
Statut
Membre
Dernière intervention
29 juin 2016
-
24 nov. 2011 à 00:38
neo_selen Messages postés 153 Date d'inscription dimanche 11 juillet 2010 Statut Membre Dernière intervention 29 juin 2016 - 1 déc. 2011 à 15:21
neo_selen Messages postés 153 Date d'inscription dimanche 11 juillet 2010 Statut Membre Dernière intervention 29 juin 2016 - 1 déc. 2011 à 15:21
A voir également:
- [PHP] manipulation de 2 fichiers textes
- Explorateur de fichiers - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Word numéro de page 1/2 - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Fusionner 2 fichiers excel - Guide
2 réponses
Bablon Arnaud
Messages postés
74
Date d'inscription
jeudi 13 janvier 2011
Statut
Contributeur
Dernière intervention
9 décembre 2011
11
24 nov. 2011 à 01:58
24 nov. 2011 à 01:58
Salut j'ai pas tous saisie a ton problème, je sais pas si ca pourra t'aider :
l'algo qui te génère les 9 lignes + mot2mot2 ...
for ($i=1; $i<=9;$i++) {
for ($j=1; $j<=3;$j++) {
for ($k=1; $k<=3;$k++) {
print "mot".$i."mot".$j."mot".$k."<br />";
}
}
}
Si tu veux recuperer le contenu de chaque ligne dans un tableau utilise plutôt $tableau = file('tonfichier.txt');
(mon résultat :
mot1mot1mot1
mot1mot1mot2
mot1mot1mot3
mot1mot2mot1
mot1mot2mot2
mot1mot2mot3
mot1mot3mot1
mot1mot3mot2
mot1mot3mot3
mot2mot1mot1
mot2mot1mot2
mot2mot1mot3
mot2mot2mot1
mot2mot2mot2
mot2mot2mot3
mot2mot3mot1
mot2mot3mot2
ect ... jusqu'a 9
en remplaçant les boucles $k & $j par des count(tontableauquiviensdufichier) p-e tu réussira a faire qqchose.
l'algo qui te génère les 9 lignes + mot2mot2 ...
for ($i=1; $i<=9;$i++) {
for ($j=1; $j<=3;$j++) {
for ($k=1; $k<=3;$k++) {
print "mot".$i."mot".$j."mot".$k."<br />";
}
}
}
Si tu veux recuperer le contenu de chaque ligne dans un tableau utilise plutôt $tableau = file('tonfichier.txt');
(mon résultat :
mot1mot1mot1
mot1mot1mot2
mot1mot1mot3
mot1mot2mot1
mot1mot2mot2
mot1mot2mot3
mot1mot3mot1
mot1mot3mot2
mot1mot3mot3
mot2mot1mot1
mot2mot1mot2
mot2mot1mot3
mot2mot2mot1
mot2mot2mot2
mot2mot2mot3
mot2mot3mot1
mot2mot3mot2
ect ... jusqu'a 9
en remplaçant les boucles $k & $j par des count(tontableauquiviensdufichier) p-e tu réussira a faire qqchose.
neo_selen
Messages postés
153
Date d'inscription
dimanche 11 juillet 2010
Statut
Membre
Dernière intervention
29 juin 2016
15
Modifié par neo_selen le 1/12/2011 à 15:25
Modifié par neo_selen le 1/12/2011 à 15:25
le code, corrigé. génère un fichier à partir d'une liste prédéfinie (à l'avenir je poste le code pour ouvrir une liste de mots dans un fichier,peu importe la longueur):
<?php
$fp2=fopen('dico_generated.txt',"c");
$D=array('mot1',mot2'','mot3','mot4','mot5','mot6','mot7','mot8','mot9','mot10','mot11','mot12','mot13');
$S=array('symbol1','symbol2','symbol3',symbol4',symbol5'');
define(NBMOTSD,12);
define(NBMOTSS,2);
for ($i=0;$i<13;$i++){ //partie 1
for ($j=0;$j<13;$j++){ //partie 2
for ($k=0;$k<13;$k++){ //partie 3
for ($l=0;$l<13;$l++){ //partie 4
for ($a=0;$a<5;$a++){//symboles
$mot1=$D[$i];
$mot2=$D[$j];
$mot3=$D[$k];
$mot4=$D[$l];
$symb=$S[$a];
$resultat= $mot1.$symb.$mot2.$symb.$mot3.$symb.$mot4."\n";
//echo $resultat; //décommenter pour tester le résultat
fwrite($fp2,$resultat."\r\n"); // mettre en comm. pour test echo.
} } } } }
fclose($fp2);
//
?>
mot1 à mot13 est ce que vous voulez comme mots pour votre liste.
<?php
$fp2=fopen('dico_generated.txt',"c");
$D=array('mot1',mot2'','mot3','mot4','mot5','mot6','mot7','mot8','mot9','mot10','mot11','mot12','mot13');
$S=array('symbol1','symbol2','symbol3',symbol4',symbol5'');
define(NBMOTSD,12);
define(NBMOTSS,2);
for ($i=0;$i<13;$i++){ //partie 1
for ($j=0;$j<13;$j++){ //partie 2
for ($k=0;$k<13;$k++){ //partie 3
for ($l=0;$l<13;$l++){ //partie 4
for ($a=0;$a<5;$a++){//symboles
$mot1=$D[$i];
$mot2=$D[$j];
$mot3=$D[$k];
$mot4=$D[$l];
$symb=$S[$a];
$resultat= $mot1.$symb.$mot2.$symb.$mot3.$symb.$mot4."\n";
//echo $resultat; //décommenter pour tester le résultat
fwrite($fp2,$resultat."\r\n"); // mettre en comm. pour test echo.
} } } } }
fclose($fp2);
//
?>
mot1 à mot13 est ce que vous voulez comme mots pour votre liste.
24 nov. 2011 à 08:50
et la liste peut être supérieure à trois mots. ma liste comporte 15 mots différents. tout bien calculé, les possibilités de combinaisons sont égales à... 50625 mots de passes possibles !
si on admet que quand on compte on affiche d'après une liste de 10 mots de 0 à 9 sur 3 emplacements (donc de 000 à 999) , alors tu comprendras ce que je souhaite faire
résultat pour deux mots toto et voiture:
totototo
totovoiture
voituretoto
voiturevoiture
voilà c'est plus simple sur deux mots.
sauf que sur 4 mots,séparés par des symboles que j'ai défini moi-même, c'est 50625 mots sans compter le changement de symboles, et en le comptant pour seulement 2 symboles différents ça fait donc 101250 mots de passes différents.
le but de ce script est de faciliter la création pour un utilisateur d'un mot de passe qu'il saura facilement retenir tout en étant pas facile pour un pirate à cracker !
24 nov. 2011 à 08:56
24 nov. 2011 à 09:03
for ($i=0;$i<$nbmotsd;$i++){ //partie 1
for ($j=0;$j<$nbmotsd;$j++){ //partie 2
for ($k=0;$k<$nbmotsd;$k++){ //partie 3
for ($l=0;$l<$nbmotsd;$l++){//partie 4
for ($a=0;$a<$S[count($S)];$a++){//symboles
$resultat= $D[$i].$S[$a].$D[$j].$S[$a].$D[$k].$S[$a].$D[$l];
fputs($fp2,$resultat."\n");
} } } } }
non, le vrai problème est le code que j'ai posté dans la question. à part soit inscrire le dernier mot soit rien du tout, ça ne veut pas faire ce que je souhaite...
30 nov. 2011 à 21:09
je me suis aperçu déjà que les options d'ouverture des fichiers étaient mauvaises.
de plus, la concaténation de cases d'un tableau ne semble pas possible. en les faisant passer par des variables intermédiaires cela devient chose possible !!!!!!