yii로 파일을 업로드하고 해당 파일을 확인하고 싶습니다. 그러나 다른 유형의 파일 - 크기가 다릅니다. 예 : - 업로드하려는 경우 jpg 또는 pdf 파일 - maxSize - 10MB. - 동영상 파일 용 - maxSize - 150MB.Yii의 다른 유형 파일에 대한 최대 크기가 다릅니다.
어떻게 할 수 있습니까?
이 변형은 작동하지 않는 두 번째 규칙이므로 작동하지 않습니다.
public function rules()
{
return array(
array('files', 'validateFiles', 'types' => 'jpg, gif, png, pdf, doc, docx', 'maxSize' => 10 * 1024 * 1024, 'on' => 'upload'),
array('files', 'validateFiles', 'types' => 'avi, mpg, flv, mov, mpeg, mp4, 3gp, wmv', 'maxSize' => 150 * 1024 * 1024, 'on' => 'upload'),
}
public function validateFiles($attribute, $params)
{
$validator = CValidator::createValidator('file', $this, $attribute, $params);
$files = array();
foreach(CUploadedFile::getInstances($this, $attribute) as $file) {
$this->$attribute = $file;
$files[] = $file;
$validator->validate($this, $attribute);
}
$this->$attribute = $files;
}