md5_file liefert jedes Mal andere Werte

14/11/2015 - 00:25 von Markus Grob | Report spam
Hallo miteinander

Ich habe ein kleines Problem mit md5_file. Damit beim upload keine
problematischen Dateien gespeichert werden, lasse ich nur zip-Dateien
zu. Alle anderen Dateien werden gezippt.
Damit aber nicht doppelte Dateien gespeichert werden, speichere ich den
md5 der Datei. Da dies nur mit dem Inhalt gemacht wird, sollte der Wert
immer gleich generiert werden.
Wende ich die Funktion auf eine schon gezippte Datei an, kommt immer der
gleiche Wert. Zippe ich hingegen die Datei, àndert der Wert jedes Mal,
auch wenn der Inhalt immer der Gleiche ist. CRC vom ZIP bleibt gleich.
Wo könnte das Problem liegen?

if (!in_array( $ending, $allowed_endings_files)) {
$zip = new ZipArchive();
$zippath = $uploadDir.$zipname;
$filepath = $uploadDir.$file;
if ($zip->open($zippath, ZipArchive::CREATE)!==TRUE) {
exit("$text_not_open <$zipname>");
} // end if
$zip->addFile($filepath, $file);
$zip->close();
} // end if zip file
else {
$zipname = $file;
}
$path = rarely_check_file ($zipname, $uploadDir);

in rarely_check_file kommt folgende Anweisung zum Zug:

$md5hash = md5_file ($upload_dir.$orig_filename);

Weiss jemand weiter?

Danke und Gruss, Markus
 

Lesen sie die antworten

#1 Thomas Binder
14/11/2015 - 14:48 | Warnen spam
Hi,

Markus Grob wrote:
Wende ich die Funktion auf eine schon gezippte Datei an, kommt
immer der gleiche Wert. Zippe ich hingegen die Datei, àndert der
Wert jedes Mal, auch wenn der Inhalt immer der Gleiche ist. CRC
vom ZIP bleibt gleich. Wo könnte das Problem liegen?



An den Zeitstempeln der Datei, die Du per addFile() hinzufügst?
Die werden ja auch im Archiv abgelegt und dürften sich bei jedem
Upload unterscheiden.

Prüfe doch die MD5-Summe der hochgeladenen Datei und erzeuge das
Zip-Archiv erst im Anschluss nach erfolgereicher Prüfung.

Ciao

Thomas

Ähnliche fragen