/** * Check for file size. Only difference is that it is possible to upload multiple files * @param $files * @param null $operator * @param $maxSize * @return bool */ public static function fileSize($files, $operator = null, $maxSize) { $valid = false; if (isset($files[0]['tmp_name'])) { foreach ($files as $file) { if (Validation::fileSize($file, $operator, $maxSize) === false) { return false; } $valid = true; } } else { $valid = Validation::fileSize($files, $operator, $maxSize); } return $valid; }
/** * testFileSize method * * @return void */ public function testFileSize() { $image = TEST_APP . 'webroot/img/cake.power.gif'; $this->assertTrue(Validation::fileSize($image, '<', 1024)); $this->assertTrue(Validation::fileSize(['tmp_name' => $image], 'isless', 1024)); $this->assertTrue(Validation::fileSize($image, '<', '1KB')); $this->assertTrue(Validation::fileSize($image, '>=', 200)); $this->assertTrue(Validation::fileSize($image, '==', 201)); $this->assertTrue(Validation::fileSize($image, '==', '201B')); $this->assertFalse(Validation::fileSize($image, 'isgreater', 1024)); $this->assertFalse(Validation::fileSize(['tmp_name' => $image], '>', '1KB')); }
/** * Validates the filesize. * * @deprecated Use \Cake\Utility\Validation::fileSize() instead. * @param array $value. * @param int $size. * @param array $context. * @param string $operator. * @return bool */ public function fileSize($value, $size, $context = null, $operator = '<') { $this->_filesize = $value['size']; return Validation::fileSize($value, $operator, $size); }