일반페이지에서 첨부파일 업로드
본문
write.php 말고 일반페이지에서 파일업로드를 받으려고 합니다.
<input type="file" name="bf_file[]" class="frm_file frm_input" style="height:24px; border: solid 0px #e6e6e6; background: #fff;">
일반페이지에 위의 코드를 넣어보니 컴퓨터에서 파일선택하는 것 까지 되고 data를 전달받는 페이지에서 크롬으로 확인해보면 Form data 안에 아래와 같이 전달됩니다.
bf_file[]: 첨부파일 코드.txt
그런데 문제는 받는 페이지에서 인식이 안되는 것 같습니다.
간단하게 전달받은 파일개수 먼저 체크해보려고 아래의 코드를 넣어 확인해 보았습니다.
// 파일개수 체크
$file_count = 0;
$upload_count = count($_FILES['bf_file']['name']);
for ($i=0; $i<$upload_count; $i++) {
if($_FILES['bf_file']['name'][$i] && is_uploaded_file($_FILES['bf_file']['tmp_name'][$i]))
$file_count++;
}
echo $file_count;
그런데 0 이 출력되더라구요..
전달받는 페이지에서 $_FILES['bf_file']['name'] 를 인식해야 되는데 아무것도 없는 변수로 인식하는 것 같습니다..
일반페이지에서 파일을 업로드하려면 어떤 코드를 추가해야 될까요..ㅜ
따로 플러그인 같은건 인클루드하지 않고 순수 위 코드만 코딩하였습니다..
방법 좀 알려주시면 감사하겠습니다!ㅜㅜ
답변 3
<form> 태그에 enctype="multipart/form-data" 은 주신건가요?
폼 하나당 file 하나만 올라가지 않나요?
$_FILES['bf_file']['name'] 가 배열이 아니니 0 으로 출력된거 아닌가요?
님처럼 배열로 써본적이 없어서 ㅜ.ㅠ
<form method="post" action="받는 파일.php" enctype="multipart/form-data">
실제로 받는 파일에서
print_r($_FILES['bf_file']);
했을 때 값이 나오는지부터 확인해 보세요.