/** * @inheritdoc */ public function validate($input) { if ($input instanceof UploadedFile) { if ($input->error !== UPLOAD_ERR_OK) { $this->params['mimeTypes'] = $this->toString($this->params['mimeTypes']); return false; } $input = $input->tempName; } if (in_array(\rock\helpers\FileHelper::getMimeType($input), $this->toArray($this->params['mimeTypes']), true)) { return true; } if (is_array($this->params['mimeTypes'])) { $this->params['mimeTypes'] = $this->toString($this->params['mimeTypes']); } return false; }
/** * @inheritdoc */ public function validate($input) { if ($input instanceof UploadedFile) { if ($input->error !== UPLOAD_ERR_OK) { $this->params['extensions'] = $this->toString($this->params['extensions']); return false; } $extension = mb_strtolower($input->extension, 'utf-8'); $input = $input->tempName; } elseif (is_string($input)) { if (!($extension = strtolower(pathinfo($input, PATHINFO_EXTENSION)))) { $this->params['extensions'] = $this->toString($this->params['extensions']); return false; } //$extension = $extension['extension']; } else { throw new ValidateException(ValidateException::UNKNOWN_VAR, ['name' => 'input']); } if ($this->params['checkExtensionByMimeType']) { $mimeType = \rock\helpers\FileHelper::getMimeType($input); if ($mimeType === null) { $this->params['extensions'] = $this->toString($this->params['extensions']); return false; } $extensionsByMimeType = \rock\helpers\FileHelper::getExtensionsByMimeType($mimeType); if (!in_array($extension, $extensionsByMimeType, true)) { $this->params['extensions'] = $this->toString($this->params['extensions']); return false; } } if (!in_array($extension, $this->toArray($this->params['extensions']), true)) { $this->params['extensions'] = $this->toString($this->params['extensions']); return false; } return true; }