Volevo sapere se qualcuno conosce una funzione per confrontare due file e per dire se sono uguali.
Per adesso me ne sono creata una io molto complessa, ma preferivo qualcosa di semplice.
Volevo sapere se qualcuno conosce una funzione per confrontare due file e per dire se sono uguali.
Per adesso me ne sono creata una io molto complessa, ma preferivo qualcosa di semplice.
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
C'era una funzione di php che adesso mi sfugge il nome che serviva a confrontare due file.. Se lo trovo te lo posto...
OK, grazie, è proprio quello che mi serve.Originalmente inviato da allo
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
Trovato! http://it2.php.net/manual/it/function.similar-text.php
Ciao!
Grazie, la posso aggiungere al mio script per semplificarlo.
Ma non esiste nessuna funzione che confronta due file (di testo)?
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
Non penso, ma se usi due fileread (per il primo e per il secondo file) e similar_text magari esce un qualcosa...
Faccio già una cosa del genere ma se esisteva una funzione così era meglio.Originalmente inviato da allo
Codice PHP:
$risultato=ConfrontaFile($file1,$file2);
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
Potresti fare una cosa un pò meno bella, cioè confrontare quanti byte è un file e quanti byte l'altro, con il filesize, ma non è molto elegante..
Il problema è che essendo file di testo con i contenuti molto simili, può capitare che la grandezza è identica ma il contenuto è diverso.Originalmente inviato da allo
[OT] Ti ricordi che mi avevi dato il tuo bannerino? Non mi funziona, me lo potresti rimandare (il link)?
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
Penso che si possa usare md5_file, che in teoria dovrebbe creare un hash diverso per ogni file.
la prima cosa che mi viene in mente è:
ciao ^__^Codice PHP:
function checkfile($file1, $file2)
{
if( !file_exists($file1) || !file_exists($file2) )
{
return false;
}
$content1 = implode('', file($file1));
$content2 = implode('', file($file2));
return ( $content1 == $content2 ) ? true : false;
}
Io utilizzo già una cosa del genere, se leggi gli altri miei messaggi capisci cosa mi servirebbe.Originalmente inviato da jostock
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
come suggerito da tuttueniente2 usa md5_file() e size()
se hash e dimensione corrispondono allora con altissima probabilità si tratta dello stesso file ;)
fare un confronto == con stringhe che magari contentono 2 o 3mega di dati non è proprio il massimo ;)
There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...
Sto usando le funzioni suggerite da tuttoniente2, ma ci sono delle possibilità che considerino due file uguali anche se sono diversi?Originalmente inviato da Evcz
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
eh...
trattandosi di hash la collisione è possibile...
md5() è pensato per ridurle al minimo... e se ci associ pure la dimensione del file la collisione diventa un evento remotissimo... (comunque possibile?)
tieni conto che anche emule per identificare i files (i famigerati links ed2k) usa md5 (e md4) e filesize.... :)
dai una letta qua per farti un idea su cos'è un hash:
http://it.wikipedia.org/wiki/Hash
:)
There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...
Quindi dovrei essere proprio s****to... Va bene, grazie a tutti.
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
L'hash con md5sum è ritenuto abbastanza sicuro. Esiste comunque l'algoritmo Pollard Rho che va alla ricerca delle collisioni ma naturalmente servono dei supercomputer o stringhe hashate senza Des o simili.Originalmente inviato da funcool
Se quello che ho detto non ha senso allora è tutto normale.
Ultima modifica di JoErNanO : 22-11-2006 alle ore 16.39.36