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

php7.x 버전 count 에러에 관해서 채택완료

내쿠 6년 전 조회 4,953

어찌하다보니 를 사용하게 되었고 기분탓인가 속도가 빠른 느낌입니다..

아래는 글작성 등록시  에러메시지입니다.

 

 

write_update.php(원본입니다)

430줄

$upload_count = count($_FILES['bf_file']['name']);

---------------------------------------------------------

455줄

for ($i=0; $i

 

define('G5_GNUBOARD_VER', '5.3.2.8');

원본사용입니다.  어델 손봐야 하는지요...미리 감사합니다.

 

 

 

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

답변 5개

채택된 답변
+20 포인트
Rido
6년 전

count($_FILES['bf_file']['name']);

php 72버전부터 해당 값이 없는경우 count 함수호출이 되지 않습니다.

 

즉 파일업로드가 없는경우 에러를 발생할 겁니다.

 

최신버전의 그누보드는 오류가 발생하지 않으니 업데이트를 권장해 드립니다.

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

답변에 대한 댓글 6개

내쿠
6년 전
아하... 최근버전 그누보드는 되나요? 감사합니다.. 사용토록 하겟습니다.^^^
내쿠
6년 전
최신버전 다운로드(ZIP) : https://github.com/gnuboard/gnuboard5/zipball/master
에서 경로/bbs/write_update.php 만 교체하였습니다.
흠 .. 에러가 나오는데요..
R
Rido
6년 전
혹시 skin족에서 파일업로드 기능을 빼버리셨나요???
내쿠
6년 전
아..네.. 제가 write.skin.php를 좀 만져서 파일업로드 기능은 없앴습니다.만.. 그럼 우찌해야...
R
Rido
6년 전
네 그것때문에 에러가 나는겁니다.

주석처리를 하지 마시고 해당 부분을 히든처리 하시기 바랍니다.
내쿠
6년 전
흠,, 주석처리 '//'
가 아닌 값 넘길때 hidden 이거로 하라는 말씀이신지요..
알겠습니다.. 해보겠습니다.

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

6년 전

이렇게 해 보니 해결(?)된 듯 에러는 없어졌습니다. php7.3.7상태 입니다.  define('G5_GNUBOARD_VER', '5.3.2.8');  

write_update.php 

두 곳인데요

1. 수정전            

</strong> $upload_count = count($_FILES['bf_file']['name']); <strong>

1. 수정후

        

</strong>    if (is_array($_FILES['bf_file']['name']) ) {   //추가

                 if ($row_file['bf_file'] > count($_FILES['bf_file']['name'])) {  //추가

                     $upload_count = count($_FILES['bf_file']['name']);</p>

<p>                 }  //추가

             }  //추가</p>

<p><strong>
 

 

2. 수정전            

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

2. 수정후

        

</strong>   </p>

<p>if (is_array($_FILES['bf_file']['name']) ) {   //추가</p>

<p>

for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {</p>

<p>---중략</p>

<p>             }  //추가</p>

<p><strong>

----------------

이게 현재  에러는 없는데요.. 답이 맞는지는 모르겠습니다.

눈팅한 것입니다.

https://github.com/Automattic/jetpack/issues/8420" rel="nofollow noreferrer noopener" target="_blank">github.com/Automattic/jetpack/issues/8420 

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

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

ifelse
6년 전

카운트하는 배열이 있는지 부터 체크하고 시작하면 Warning이 없어집니다.

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

답변에 대한 댓글 1개

내쿠
6년 전
넵,, 감사합니다..

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

6년 전

 

php버전을 바꾸어보니 7.1까지는 에러가 안보입니다.

7.2.20  -- count 에러

7.3.7 ---count에러 발생

제가 확인한 바로는 이러합니다.

php7.1.30 에는 글등록 에러없이 잘 되는군요

진정한 답은 아니지만..

검색하다보니 7.2에서 함수에러가 난다는 글이 있더군요

위 상위 php버전사용하고픈데요,, 출력 에러메시지 피하려면  어떻게 수정해야 하나요..

감사합니다~

 

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

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

플라이
6년 전

해당 카운트 체크하는 파라미터 정보가 배열이나 오브젝트 방식인데 잘못된 그냥 파일명으로 체크하면서 발생되는 오류로 보여집니다.

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

답변에 대한 댓글 3개

내쿠
6년 전
그누 다운로드 원본이라 php버전을 내려야 하나 고민입니다..ㅠㅠ
플라이
6년 전
이건 버전의 문제가 아니라 기능의 문제인듯 합니다. 아니면 데이터를 배열로 못받아 오는듯 합니다.
내쿠
6년 전
아..그렇군요? 제가 write.skin.php를 좀 만져서 일까요,, 공부하고 질문드려야겠네요..감사합니다.

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

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

로그인