Hallo.
Bei meinem Uploadscript macht mir ein Problem zu schaffen, welches das Auslesen des Dateiheaders bzw deren Vergleich betrifft.
Ich bekomme für einen Grossteil der Dateien, welche ich versuche über das Sript hochzuladen eine Fehlermeldung, dass es sich um keine gültige Datei handelt (bei .doc Dateien zum Beispiel keine gültige doc-Datei). Das ist zwar sinnvoll wenn der Dateiheader nicht mit dem in der Datenbank eingetragenen Header übereinstimmt, aber ein Problem wenn der Dateiheader richtig ist.
Beispiel zip-Datei:
Dateiheader laut HEXEDITOR-MX: 504B0304 (die ersten 4 Byte).
In der DB stehen diese 4 Byte drin. Versuch ich jetzt aber die Datei hochzuladen, bekomme ich eine Fehlermeldung.
Bei pdf-Dateien dagegen klappt es ohne Probleme.
Mp3-Dateien, doc-Dateien und Zip-Dateien, als Beispiele, funktionieren nicht.
Dieser Codeschnippsel überprüft das Ganze:
Ich bin sowas von ratlos.
gruesse
henker
Bei meinem Uploadscript macht mir ein Problem zu schaffen, welches das Auslesen des Dateiheaders bzw deren Vergleich betrifft.
Ich bekomme für einen Grossteil der Dateien, welche ich versuche über das Sript hochzuladen eine Fehlermeldung, dass es sich um keine gültige Datei handelt (bei .doc Dateien zum Beispiel keine gültige doc-Datei). Das ist zwar sinnvoll wenn der Dateiheader nicht mit dem in der Datenbank eingetragenen Header übereinstimmt, aber ein Problem wenn der Dateiheader richtig ist.
Beispiel zip-Datei:
Dateiheader laut HEXEDITOR-MX: 504B0304 (die ersten 4 Byte).
In der DB stehen diese 4 Byte drin. Versuch ich jetzt aber die Datei hochzuladen, bekomme ich eine Fehlermeldung.
Bei pdf-Dateien dagegen klappt es ohne Probleme.
Mp3-Dateien, doc-Dateien und Zip-Dateien, als Beispiele, funktionieren nicht.
Dieser Codeschnippsel überprüft das Ganze:
PHP:
if($ext['typ'] == "doc") {
$fp = @fopen($file,"r");
$file_head = "";
for ($c=0;$c<4;$c++) $file_head .= dechex(ord(fgetc($fp)));
}
Ich bin sowas von ratlos.
gruesse
henker