2009-08-04 3 views
1

HI! Wie überprüfe ich, ob die Benutzer versuchen, größere als 2 MB-Dateien hochzuladen? Ich möchte das bestreiten und dem Benutzer, der das versucht, eine Fehlermeldung schicken.Nicht zulassen> 2 MB Bilder

Ich weiß, dass es so etwas ist, aber was soll ich die 50000 ändern, um 2mb zu werden?

if ($_FILES['imagefile']['size'] > 50000) 
{ 
die ("ERROR: Large File Size"); 
} 
+1

2 * 1024 * 1024 = 2097152; – OneOfOne

+0

Sie könnten diese Frage viel deutlicher gestellt haben :-( –

+1

wie viele Bytes sind 2mb? Das ist Ihre Frage – Juan

Antwort

16

2 MB ist 2097152 Bytes.

Ändern Sie die 50000 zu 2097152 und Sie sind eingestellt.

+0

Vielen Dank! Das war nötig! –

0

Unter der Annahme, dass Sie eine Datei Feld in einem Formular haben, die so genannte ‚upload‘, können Sie die Größe der Datei wie folgt überprüfen:

if ($_FILES['upload']['size'] > $max_upload_size) { echo "File too big"; }

Wo $ max_upload_size ist die maximale Größe Sie möchten zulassen (offensichtlich möchten Sie die echo Anweisung durch eine nützlichere Fehlermeldung ersetzen).

Sie können auch die Einstellung upload_max_filesize in der Datei php.ini verwenden. Dies führt jedoch dazu, dass Ihre Benutzer einen PHP-Fehler sehen, wenn sie diesen Grenzwert überschreiten, und nicht Ihre benutzerdefinierte Fehlermeldung.

+0

Ja, ich weiß das, aber was in die max_upload_size Variable schreiben? Um meine Vorschläge? 2mb? Howto;) –

+0

2 MB = 2048 Kilobyte. 2048 KB = 2097152 Bytes. (Anscheinend.) –

6

Die 5000 ist die Anzahl der Freilose, also müssen Sie nur 2MB in Bytes konvertieren. 1 MB ist 1024 Kilobyte und 1024 Byte ist 1 Kilobyte. Doing die Mathematik, erhalten wir:

2 Megabyte = 2 097 152 Bytes

Grundsätzlich können Sie diese in Form eines Codes berechnen

$maxFileSize = $MB_limit * 1024 * 1024; 

und prüfen, ob die Dateigröße maxFileSize nicht $ nicht übersteigt.