| 제목 | 여러 파일 업로드 시 validation 적용하는 문제 | ||
|---|---|---|---|
| 카테고리 | CI 4 관련 | ||
| 글쓴이 | psj452 | 작성시각 | 2023/10/17 16:27:42 |
|
|
|||
|
안녕하세요. 개별 파일은 가능하지만 여러파일을 한번에 업로드 하는 중에 validation 체크가 적용되지 않아 문의남깁니다.
View //동적으로 계속 생성됨 <input type="file" name="filename[]" class="file">
Controllers
$files = $request->getFiles('filename');
//여기서 i는 1씩 증가됨
$fileField = $files['filename'][$i];
if ($fileField->isValid()) {
$name = 'filename';
$validation = \Config\Services::validation();
$validationRule = [
$name => [
'uploaded[' . $name . ']',
'max_size[' . $name . ',10240]', // 최대 파일 크기 10MB
]
];
$validation->setRules($validationRule);
if ($this->validate($validationRule)) {
//여기서 실패합니다.
}
}
여기서 개별파일일 경우 검증규칙은 무난히 통과하며, 배열로 파일을 업로드시 $this->validate 부분을 주석을 하면 업로드가 정상적으로 됩니다. 오류 내용은 " filename is not a valid uploaded file. " 입니다. 아마 uploaded 에서 생기는 문제같습니다. 파일은 정상적으로 받는 것은 확인했지만 검증규칙을 통과하지 못합니다. 배열로 받은 파일을 검증규칙을 태우려면 어떻게 해야할까요?
감사합니다. |
|||
| 다음글 | azure mysql db 연결 관련 (2) | ||
| 이전글 | php 레거시 -> ci4 중 shield에 관한... (2) | ||
|
변종원(웅파)
/
2023/10/20 12:56:26 /
추천
0
|
여러개를 보내면 여러번 돌면서 체크를 해야겠죠. ci문제가 아니라 로직의 문제....
ci2점대 내용이지만 로직 참고해보세요.
https://stackoverflow.com/questions/11524356/multiple-files-upload-array-with-codeigniter-2-0