Почему PHP говорит 6469> 1 000 000? - PullRequest
0 голосов
/ 18 апреля 2020

Вот мой PHP:

<?php

$a = $_FILES['profilepic']['size'];
if ($a>1000000){
    echo json_encode("larger than 1MB");
}
?>

Все, что он делает, это захватывает размер файла загрузки и сравнивает его с 1 000 000. Я предполагаю, что 1,000,000 также в байтах, следовательно, он равен 1MB.

Моя проблема в том, что очень маленький файл, 6469 байтов, вызывает эхо, означающее, что PHP видит 6469> 1,000,000.

Я отправил $ a напрямую, и он возвращает 6469, я предполагаю, что это байты, потому что Windows говорит, что файл также 6469 байтов.

Что происходит? Вот файл: https://easyupload.io/9spcmh

Ответы [ 2 ]

0 голосов
/ 18 апреля 2020

Если вы используете gettype ($ a), оказывается, по какой-то странной причине, $ a возвращает массив, где фактическое число 6469 находится в 0-м индексе массива. $ a [0]> 1000000 теперь разрешается правильно, спасибо всем!

0 голосов
/ 18 апреля 2020

Вот проблема в том, что он на самом деле сравнивает

6469 > 1 // that is true in (6469 > 1,000,000?)

Если вы действительно сравниваете, смотрите ниже не запятую

6469 > 1000000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...