php 에러 Warning: count(): Parameter must be an array or an object that implements Countable 채택완료

Warning: count(): Parameter must be an array or an object that implements Countable 

 

 

372번째 문제라는데 이부분인데 어떻게 수정하면 될까요??

 

 

 

// 가변 파일 업로드
$file_upload_msg = '';
$upload = array();
for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
    $upload[$i]['file']     = '';
    $upload[$i]['source']   = '';
    $upload[$i]['filesize'] = 0;
    $upload[$i]['image']    = array();
    $upload[$i]['image'][0] = '';
    $upload[$i]['image'][1] = '';
    $upload[$i]['image'][2] = '';

답변 7개

채택된 답변
+20 포인트

if (is_array($_FILES['bf_file']['name'])) 로 배열 여부 체크하고 사용하셔도 문제없습니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

thumb-990219978_1635311636.89_730x32.png

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

페이지 상단에

error_reporting(E_ALL);
ini_set("display_errors", 1);
 

 

에러표시 노출 되게 하고 확인해보시기 바랍니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

이렇게하면 에러 안뜨고 정상작동하는데
이렇게 사용하면 문제가 될까요????

// 가변 파일 업로드
$file_upload_msg = '';
$upload = array();


$cnt = 0;

if (is_array($_FILES['bf_file']['name']))
$cnt = count($_FILES['bf_file']['name']);
for ($i=0; $i < $cnt; $i++) {

$upload[$i]['file'] = '';
$upload[$i]['source'] = '';
$upload[$i]['filesize'] = 0;
$upload[$i]['image'] = array();
$upload[$i]['image'][0] = '';
$upload[$i]['image'][1] = '';
$upload[$i]['image'][2] = '';

댓글을 작성하려면 로그인이 필요합니다.

thumb-990219978_1635311217.5498_730x362.png

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy
// 가변 파일 업로드
$file_upload_msg = '';
$upload = array();
if(count($_FILES['bf_file']['name']) > 0){
for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
    $upload[$i]['file']     = '';
    $upload[$i]['source']   = '';
    $upload[$i]['filesize'] = 0;
    $upload[$i]['image']    = array();
    $upload[$i]['image'][0] = '';
    $upload[$i]['image'][1] = '';
    $upload[$i]['image'][2] = '';
}

}

 

밑에 닫는 부호 잘 확인하셔야 합니다.

 

오류가 나면 오류메시지를 같이 올려주시면 확인이 편합니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그래도 에러가나긴하는데 위에 이미지 올려놨어여 에러메세지ㅜㅜ

댓글을 작성하려면 로그인이 필요합니다.

 

Copy
// 가변 파일 업로드
$file_upload_msg = '';
$upload = array();

if(count($_FILES['bf_file']['name']) > 0){
for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
    $upload[$i]['file']     = '';
    $upload[$i]['source']   = '';
    $upload[$i]['filesize'] = 0;
    $upload[$i]['image']    = array();
    $upload[$i]['image'][0] = '';
    $upload[$i]['image'][1] = '';
    $upload[$i]['image'][2] = '';

}

 

이렇게 처리해 주세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

감사합니다
에러나네영 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변에 대한 댓글 1개

제가 php개발자가 아니라 봐도 이해가 잘안되네요...
수정해봤는데 이렇게 하면 될까요??

$file_upload_msg = '';
$upload = array();


$cnt = 0;

if (is_array($_FILES['bf_file']['name']))
$cnt = count($_FILES['bf_file']['name']);
for ($i=0; $i < $cnt; $i++) {

$upload[$i]['file'] = '';
$upload[$i]['source'] = '';
$upload[$i]['filesize'] = 0;
$upload[$i]['image'] = array();
$upload[$i]['image'][0] = '';
$upload[$i]['image'][1] = '';
$upload[$i]['image'][2] = '';

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고