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

MB をバイトに変換する関数を定義するのが最適な場合があります。つまり、次のようになります。

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

次に、次のように比較できます。

($_FILES["file"]["size"] < MB(2000))
于 2012-12-30T02:35:54.690 に答える
0
<?php
    define('MB', 1024*1024);
    echo 10*MB;
?>

それはそれを行う別の方法です。

また、Cにはマクロがありません。したがって、C、C++のように#defineこれらのことを行うことはできません。

于 2012-12-30T02:56:10.747 に答える