Unsere Anwendung hat eine Anforderung, dass alle hochgeladenen Dateien unter oder 20 KB Limit sein sollten. Ich bin nicht in der Lage, die Dateigröße in PHP zu berechnen, da ich nicht weiß, wie es Dateigröße für jede 1 KB berechnet.Wie überprüft man hochgeladene Dateien kleiner als oder gleich 20 kb Limit?
Ich denke, dass 1 KB entspricht 1024 Bytes, also 20 KB ist gleich 20 * 1024 = 20480. Ist das korrekt? Mein Code akzeptiert Dateien, die größer als 20 KB sind.
function my_method_name() {
if (isset($_POST['submit-button-name']) && !empty($_FILES)) {
if($_FILES['file_name']['size'] == 0) {
return 1;
}
else {
$path = /Path/to/dir;
$allowed = array('gif','GIF','png','PNG','jpg','JPG','JPEG','jpeg');
$filename = $_FILES['file_name']['name'];
$filesize = $_FILES['file_name']['size'];
$ext = pathinfo($filename,PATHINFO_EXTENSION);
if(!in_array($ext,$allowed) && $filesize > 20480) {
return 0;
}
else {
$id = media_handle_upload('file_name', 1199); //post id of Client Files page
return $id;
}
}
}
}
Beiseite: Sie sollten wahrscheinlich Ihre '1' /' 0' Werte durch 'true' /' false' ersetzen. Es zeigt deine Absicht viel deutlicher. – Chris
Auch ... wovon kommst du zurück? Ist dieser Codeausschnitt in einer anderen Funktion enthalten? Was ist 'do_upload'? Sollte das 'do_upload()' sein? – Chris
@Chris, ich verstehe dich nicht. das ist ok, aber ich möchte wissen wie man die Dateigröße vergleicht = <20KB –