Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 44

Discussione: confronto file di testo

  1. #1
    Guest

    Predefinito confronto file di testo

    Salve a tutti,
    ragazzi potete aiutarmi? ho bisogno di avere uno script che mi controlli e mi faccia il confronto di stringhe contenute in due file di testo...precisamente delle prime 14 stringhe

    es:

    <?
    $var=@fopen("pippo.txt","r"); //apro il file .txt
    $var2=@fopen("caio.txt","r"); //apro il file .txt


    ...poi come proseguo???


    ?>


    Grazie

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Per stringhe intendi righe del file?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    si...

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    <?php
    $var
    =file("pippo.txt");
    $var2=file("caio.txt");
    $uguale=true;
    for(
    $i=0;$i<14;$i++)
    if (
    $var[$i]!=$var2[$i]) {
    $uguale=false;
    break;
    }

    if (
    $uguale)
    echo
    "Le prime 14 righe dei due file sono uguali.";
    else
    echo
    "Le prime 14 righe dei due file sono diverse.";
    ?>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    scusami funcool ho dimenticato di dirti che dovrebbe darmi in "echo" il numero delle stringhe che trova uguali nei due file...

    es.

    pippo.txt (12ABCDX12S)
    caio.txt (12ABXXXXXX)

    4 caratteri uguali...

    Grazie Mille

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Potresti utilizzare il termine righe perché non sei così chiaro. Vuoi sapere quanti caratteri uguali ci sono per riga e quante righe sono uguali?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    hai ragione nn sono stato chiaro...

    cioè dovrebbe anche contarmi le stringhe uguali che trova sempre nelle prime 14...ovviamente per ogni riga
    Ultima modifica di superconsulenze : 19-06-2007 alle ore 10.49.24

  8. #8
    Ospite Guest

    Predefinito

    Scusate se mi intrometto, ma per essere più chiaro potresti fare un esempio di quello che c'è nel file?
    Non ho capito se ci sono lettere singole in ogni riga o più parole...

  9. #9
    Guest

    Predefinito

    ci sono lettere o stringhe singole...quindi deve confrontare quelle uguali nei due file e contemporanemanete contarle...in definitiva deve darmi il numero di quelle che ha trovato uguali...Grazie

  10. #10
    Ospite Guest

    Predefinito

    Codice PHP:
    <?php
    $var
    =file("pippo.txt");
    $var2=file("caio.txt");
    $contatore=0;
    for(
    $i=0;$i<14;$i++)
    if (
    $var[$i]==$var2[$i]) {
    $contatore++;
    }

    echo
    "Ci sono $contatore righe uguali";
    ?>
    Teoricamente dovrebbe funzionare....

  11. #11
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Quindi devi contare il numero di righe uguali?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  12. #12
    Guest

    Predefinito

    purtroppo non funziona l'ultimo script...
    funzionava il primo che mi hai dato...

    possibile che non riesco a spiegarmi?

    ho due file che salvano dei valori:

    file1: 12X12X333SSSSS <---------confrontare e contare i caratteri
    file2: 12DDDDDDDDDDD <---------confrontare e contare i caratteri

    questi due file hanno in comune soltanto i primi due valori (12)
    quindi i valori contati sono 2 altrimenti erano 0

    Questo è quanto dovrebbe fare lo script...
    Grazie Funcool
    Ultima modifica di superconsulenze : 19-06-2007 alle ore 11.43.23

  13. #13
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ma parli di righe o di caratteri? Spiegati meglio.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  14. #14
    Guest

    Predefinito

    caratteri...

  15. #15
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    <?php
    $var
    =file_get_contents("pippo.txt");
    $var2=file_get_contents("caio.txt");
    $contatore=0;
    for(
    $i=0;$i<14;$i++)
    if (
    substr($var,$i,1)==substr($var2,$i,1))
    $contatore++;
    echo
    $contatore." caratteri uguali";
    ?>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  16. #16
    Guest

    Predefinito

    Grazie Mille Funcool funziona!

    EDIT:
    forse ho esultato presto...
    nel senso che parte del problema l'abbiamo o meglio l'hai risolto...però a me servirebbe che lui mi contasse queste corrispondenze a gruppi di 14 caratteri per volta...
    Cioè lui in questo modo mi confronta le prime 14 stringhe...
    insomma dovrebbe fare:

    da 0 a 14
    da 15 a 29
    da 30 a 44
    e cosi via...

    ci vogliono più contatori???...
    Ultima modifica di seneca : 19-06-2007 alle ore 15.14.23

  17. #17
    Ospite Guest

    Predefinito

    Codice PHP:
    <?php
    $var
    =file_get_contents("pippo.txt");
    $var2=file_get_contents("caio.txt");
    $contatore=0;
    $contatore1=0;
    //ciclo dalla riga 1 alla 14
    for($i=0;$i<14;$i++)
    if (
    substr($var,$i,1)==substr($var2,$i,1))
    $contatore++;
    echo
    $contatore." caratteri uguali";

    //ciclo dalla riga 14 alla 29
    for($i=14;$i<29;$i++)
    if (
    substr($var,$i,1)==substr($var2,$i,1))
    $contatore1++;
    echo
    $contatore1." caratteri uguali";

    ecc...
    ?>
    ti basta fare più cicli consecutivi, se ho capito bene...

  18. #18
    Guest

    Predefinito

    avevo provato anch'io cosi...purtroppo non funziona... :(

  19. #19
    Guest

    Predefinito

    Secondo me dovresti fare due cicli annidati uno (quello esterno) per le righe e uno (interno) per i caratteri di ogni riga....se ho capito il problema...
    Ciao

  20. #20
    Guest

    Predefinito

    quindi cosa mi consigli di fare?

  21. #21
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    <?php
    $var
    =file_get_contents("pippo.txt");
    $var2=file_get_contents("caio.txt");
    $gruppi=ceil(strlen($var)/14);
    for(
    $j=0;$i<$gruppi;$j++) {
    $contatore=0;
    for(
    $i=0;$i<14;$i++)
    if (
    strlen($var)<=$j*14+$i || strlen($var2)<=$j*14+$i)
    break;
    elseif (
    substr($var,$j*14+$i,1)==substr($var2,$j*14+$i,1))
    $contatore++;
    echo
    $contatore." caratteri uguali";
    }
    ?>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  22. #22
    Guest

    Predefinito

    mmm...non mi da nessun Output...e nessun messaggio di errore ma non trova nessun valore uguale...non funge...Grazie sempre Funcool

  23. #23
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Modifica questa riga:
    Codice PHP:
    for($j=0;$i<$gruppi;$j++) {
    In questo modo:
    Codice PHP:
    for($j=0;$j<$gruppi;$j++) {
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  24. #24
    Guest

    Predefinito

    forse sto chiedendo di fare una cosa "impossibile"...meglio che spieghi...vorrei organizzare un piccolo script per le scommesse di calcio (totoamici)...inserendo appunto 14 squadre di calcio...da poter inserire i valori (1X2)...ora c'è un file che si kiama vincente.txt (contenente la colonna vincente e modificato a mano da me di volta in volta) ed un file chiamato colonne.txt che contiene le colonne dei partecipanti...ora volevo automatizzare il tutto con uno script che mi effettuasse i controlli dei punti quindi dei valori contenuti nelle colonne.txt con quelle nei file vincente.txt...ecco perchè chiedevo un confronto tra valori di 14 per 14 alla volta...altrimenti mi controlla anche le altre colonne dei partecipanti...Non so se sono stato chiaro...
    Ultima modifica di superconsulenze : 20-06-2007 alle ore 10.37.35

  25. #25
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ma ogni riga è formata dai 14 caratteri?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  26. #26
    Guest

    Predefinito

    allora posso decidere di io se:

    file colonne.txt

    1X21X2111111XX12X11222X21212

    oppure:

    file colonne.txt

    1X21X2111111XX
    1X21X2111111XX <-----forse sarebbe meglio questa soluz.

    magari consigliami tu...

    invece vincente.txt (che contiene un unica riga):

    12x22211xx121x
    Ultima modifica di superconsulenze : 20-06-2007 alle ore 10.40.10

  27. #27
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    E' meglio fare una riga per ogni persona.
    Codice PHP:
    <?php
    $var
    =file("colonne.txt");
    $var2=file("vincente.txt");
    for(
    $j=0;$j<count($var);$j++) {
    $contatore=0;
    for(
    $i=0;$i<strlen($var2);$i++)
    if (
    substr($var[$j],$i,1)==substr($var2,$i,1))
    $contatore++;
    echo
    $contatore." caratteri uguali";
    }
    ?>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  28. #28
    Guest

    Predefinito

    cosi non funge...mi sa che mi conta il numero delle riga del file colonne.txt (penso)...infatti ho provato a fare 3 riga e mi conta tre zeri 000

  29. #29
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Sì, infatti conto il numero di righe del file colonne, perché ogni riga dovrebbe contenere le 14 previsioni di ognuno.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  30. #30
    Guest

    Predefinito

    ok...però dovrebbe stamparmi a video il numero esatto delle corrispondenze trovate non il numero di righe che ci sono...perchè nn funge!

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •