php - Validating files in Zend Framework 2 -


examine code below, file upload , want validate it. check file extensiton, size , mime. if check them 1 one results correct, when use $adapter->setvalidators() result false positive.

are zf2 validators act in weird way or maybe don't understand how supposed use it?

code

<?php         $data = array_merge_recursive(         $this->getrequest()->getpost()->toarray(),                   $this->getrequest()->getfiles()->toarray()     );      /* set mime on server side */     $finfo = new \finfo(fileinfo_mime);                  $mimeinfo = explode(';', $finfo->file($data['upload_image']['tmp_name']));     $data['upload_image']['type'] = $mimeinfo[0];      $adapter = new \zend\file\transfer\adapter\http();       $validatorsize = new \zend\validator\file\size(10);     $validatorext = new \zend\validator\file\extension('gif,jpg,jpeg,png');     $validatormime = new \zend\validator\file\mimetype('image/gif,image/jpg,image/jpeg,image/png');      $results = array();     $results['size'] = $validatorsize->isvalid($data['upload_image']);     $results['ext'] = $validatorext->isvalid($data['upload_image']);     $results['mime'] = $validatormime->isvalid($data['upload_image']);      $adapter->setvalidators(array(         $validatorsize,         $validatorext,         $validatormime,     ), $data['upload_image']);      $results['adapter'] = $adapter->isvalid();      \zend\debug\debug::dump($results); ?> 

results

array(4) {   ["size"] => bool(false)   ["ext"] => bool(true)   ["mime"] => bool(false)   ["adapter"] => bool(true) } 

i hope correctly understood meaning of question :) can use addvalidator() method, second param $breakchainonfailure. such behavior true chains of validators. if not explicitly break, executed each validator.


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -