我们的应用程序要求所有上传的文件应低于或等于20 KB的限制。我无法计算PHP中的文件大小,因为我不知道它是如何计算每个1KB的文件大小的。如何检查上传的文件大小小于或等于20 kb的限制?
我在想,1 KB等于1024个字节,所以20 KB等于20 * 1024 = 20480.这是正确的吗?我的代码正在接受大于20KB的文件。
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;
}
}
}
}
除此之外:你应该用'true' /'false'替换你的'1' /'0'值。它更清楚地表明你的意图。 – Chris
另外...你从什么'返回'?这段代码片段是否在另一个函数中?什么是'do_upload'?应该是'do_upload()'? – Chris
@克里斯,我不会帮你的。没关系,但我想知道如何比较文件大小= <20KB –