0

我目前正在修改一些允许我将文件上传到我的网站的代码。我将在配置文件中设置一个选项,允许用户设置最大上传限制。目前必须以千字节为单位输入,我想知道是否可以以 MB 为单位输入?

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
**&& ($_FILES["file"]["size"] < 2000000)** <---- Entered in Kilobytes, not MB.
&& in_array($extension, $allowedExts))
4

3 回答 3

1

只需这样做:

$b = 1000000;
$kb = $b / 1024;
$mb = $kb / 1024;
if($_FILES['size']['size'] < $mb * 2) {
    // do something;
}
于 2012-12-30T02:34:11.463 回答
0
<?php
    define('MB', 1024*1024);
    echo 10*MB;
?>

这是另一种方法。

#define此外,C 中没有宏。因此,这些东西不可能像 C、C++ 中那样。

于 2012-12-30T02:56:10.747 回答
0

最好定义一个将 MB 转换为字节的函数,即:

function MB($mb) {
   return $mb*1024*1024;
}

然后你可以像这样进行比较:

($_FILES["file"]["size"] < MB(2000))
于 2012-12-30T02:35:54.690 回答