PHP Upload - Dateigröße manchmal falsch

dwex

Erfahrenes Mitglied
Hallo Leute,

ich stehe hier vor einem mächtigen Problem.
Hatte gestern einen Serverumzug mit gleichzeitiger Änderung der PHP-Version (von 4 nach 5).

Jetzt habe ich hier ein Uploadscript welches schon seit mind. 3 Jahren gut bei mir läuft.
PHP:
$uploaddir = '/srv/www/htdocs/uploaddir/'; 
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
    print "File is valid, and was successfully uploaded.  Here's some more debugging info:\n";
    print_r($_FILES);
} else {
    print "Possible file upload attack!  Here's some debugging info:\n";
    print_r($_FILES);
}

?>

Auf dem neuen Server kann es vorkommen (ca. 10% der Uploads) das mitten in der Datei Daten fehlen (nicht am Anfang und nicht am Ende) und die Datei eben dann kleiner gespeichert wird.

Ich glaube jetzt mal nicht das dies zwangsläufig an PHP liegt aber vielleicht hat jemand schon mal sowas gehabt.

Noch ein Hinweis - ich nutze Websitebaker als CMS dort gibt es integriert auch einen Uploader - dieser hat mir bisher alle Files korrekt geladen.

Habt Ihr eine Idee?
 
upload_max_filesize steht auf 8 MB.

Das ist aber nicht mein Problem.
Mein Problem ist, dass eine Datei manchmal nicht korrekt hochgeladen wird. Ich habe eine Datei mit z.B. 20.000 Bytes - ich lade diese Datei nun testweise 10x hoch.
Jetzt habe ich 9x eine korrekt hochgeladene Datei mit 20.000 Bytes und 1x eine Datei mit 18.534 Bytes.
In dieser Datei fehlen dann Daten aber nicht am Anfang und nicht am Ende sondern immer in der Mitte.
 
Servus Gumbo,

ja das weis ich - nur es wird kein Fehler ausgegeben - ich erhalte im Array[error] immer den Wert 0 egal ob die Datei jetzt die richtige oder die falsche Dateigröße hat.

Es ist zum verrückt werden.
 
Ich muss jetzt diesen Threat noch mal auspacken weil ich zu keiner vernünftigen Lösung bisher gekommen bin.

Was ich bisher weis ist, dass offensichtlich mein Virenscanner an dem Debakel schuld ist.

Also müsste ich bereits von Klientseite die Dateigröße mit dem Formular mitsenden und diesen dann mit der Dateigröße des hochgeladenen Files vergleichen.

Nur wie macht man sowas das man dem Formular diese Information mitgibt?

Hat jemand eine Idee`?
 
Zurück