Jens: Zwei Dateien inhaltlich vergleichen (gleich oder ungleich?)

Hallo.

Ich möchte zwei Dateien dahingehend untersuchen, ob sie inhaltlich gleich sind oder nicht.
Wie kann ich das machen mit PHP? Hilft mir die Funktion stat() weiter? Oder sind die dort gemachten Angaben nicht ausreichend?
Oder muß ich wirklich (zumindest für den Fall, daß kein Größenunterschied besteht) beide Dateien zeilenweise auslesen und jede Zeile miteinander vergleichen? Geht das auch bei Binärdateien (z.B. jpg...)?
Eine Funktion filecompare() oder so gibt es ja leider nicht.
Wer weiß Rat?

Danke und viele Grüße
Jens

  1. mit fopen() beide dateien öffnen, dannmit fread() beide Dateien lesen und schaun, ob das gleiche drinsteht. Keine garantie bei Binärfiles wie Bildern o.ä! Ausprobieren!

    $f1=fopen("datei1.txt","r");
    $f2=fopen("datei2.txt","r");
    $text1=fread($f1, filesize("datei1.txt"));
    $text2=fread($f2, filesize("datei2.txt"));

    if($text1==$text2)
    {...}

    Ich glaube, man kann die datein auch irgendwie wieder schliessen, das macht PHP zwar automatisch, ist aber guter Stil. Alle PHP - Infos unter www.selfphp.info

    Viel Glück
    AB

  2. Hallo,

    Ich möchte zwei Dateien dahingehend untersuchen, ob sie inhaltlich gleich sind oder nicht.
    Wie kann ich das machen mit PHP?

    if(md5_file("datei1.abc") == md5_file("datei2.xyz"))
    {
      print "Die Dateien sind identisch.\n";
    }
    else
    {
      print "Die Dateien sind nicht identisch.\n";
    }

    MfG, Thomas