테스트 사이트 - 개발 중인 베타 버전입니다

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

녁기 4년 전 조회 4,736

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'])) 로 배열 여부 체크하고 사용하셔도 문제없습니다

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

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

녁기
4년 전

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

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

페이지 상단에

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

 

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

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

답변에 대한 댓글 1개

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

// 가변 파일 업로드
$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] = '';

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

녁기
4년 전

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

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

</p>

<pre>
<code>// 가변 파일 업로드
$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] = '';
}</code></pre>

<p><code>}</code></p>

<p>

 

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

 

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

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

답변에 대한 댓글 1개

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

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

 

</p>

<p>// 가변 파일 업로드

$file_upload_msg = '';

$upload = array();</p>

<p>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] = '';</p>

<p>}</p>

<p>

 

이렇게 처리해 주세요

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

답변에 대한 댓글 2개

녁기
4년 전
감사합니다
녁기
4년 전
에러나네영 ㅠㅠ

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

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

답변에 대한 댓글 1개

녁기
4년 전
제가 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] = '';

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

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

로그인