Как проверить, установлен ли $ _FILE в php? - PullRequest
9 голосов
/ 01 мая 2011

Я создал форму с 3 <input type="file"/>

Я вижу, что получаю массив с array(name=>"").

Поэтому я проверяю if ($_FILE["myfilename"]["name"]=="").

Это работает, но мне кажется довольно необычным.

Мне было интересно, есть ли лучший способ проверить, установлен вход файла или нет?

Ответы [ 5 ]

13 голосов
/ 01 мая 2011

Есть: is_uploaded_file().При работе с загруженными файлами вы всегда должны использовать его (и его двоюродного брата move_uploaded_file()) в целях безопасности.

4 голосов
/ 01 мая 2011

Лучший способ, при условии, что вы используете последнюю версию PHP (4.2+), это проверить, что:

$_FILE['myfilename']['error'] === UPLOAD_ERR_OK

Если это правда, загрузка сработала, вы можете увидеть список другихзначения здесь

1 голос
/ 01 мая 2011

Вы можете использовать пусто , чтобы проверить, является ли переменная пустой или нет, но решение Pekka лучше в этом смысле

if (empty($_FILES["myfilename"]["name"]))

Если вы проверяете, что если установлена ​​переменная, вы можете использовать isset function

0 голосов
/ 27 ноября 2018

Вы можете попробовать это:

if($_FILES['myfilename']['size'] > 0 ) {

}
else{
       echo 'File is not uploaded . . .';
}
0 голосов
/ 05 декабря 2016

Попробуйте это:

if($_FILES["uploadImg"]['name'][0] != ''){
    //echo 'file attached';
}else{
    //echo 'no file attached';
}

Это работает для меня ...

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