2016-12-28 10 views
0

У меня следующий код в мой контроллер:Как осуществить проверку на moveiploadfile (размер и тип) в Yii 1

if(move_uploaded_file($_FILES[$key]['tmp_name'], $name)) { 
    echo 'Success'; 
} else { 
    echo 'fail'; 
} 

мне нужно реализовать ограничение для загрузки файлов по размеру и типу. Пользователи не должны загружать файлы размером более 2 мегабайт и должны загружать только документы PDF. Если пользователь не выполняет эти правила проверки, он должен показывать сообщение об ошибке. Как мне это сделать?

ответ

1

Лучший способ сделать это - использовать правила проверки Yii.

  1. Добавить rule in the model.
  2. maxSize и types Настройки для правила.
  3. Handle the file upload в контроллере.
+0

Я не могу добавить никаких валидаций на этот код, потому что я беру файлы через виджет – phpdev

+0

Это ваш пользовательский виджет? – Bizley

+0

это не мое, но я взял его из Интернета – phpdev

0

Попробуйте это до кода загрузки:

$filename=$_FILES['file']['name']; 
//For size 
if($_FILES["Upload"]["size"]>20000000) //2 mb 
    { 
    echo "File size should be less than 2MB"; 
    } 
// for extention 
$ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); 
if($ext=='pdf') 
{ 
echo "write the code to upload file"; 
} 
else 
{ 
echo "Only jpg or gif file is allowed"; 
} 

Надеется, что это помогает !!!