php7.x 버전 count 에러에 관해서

php7.x 버전 count 에러에 관해서

QA

php7.x 버전 count 에러에 관해서

답변 5

본문

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

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

 

2038512418_1566523868.7042.png

 

write_update.php(원본입니다)

430줄

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

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

455줄

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

 

define('G5_GNUBOARD_VER', '5.3.2.8');

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

 

 

 

이 질문에 댓글 쓰기 :

답변 5

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

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

 

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

 

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

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

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

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

write_update.php 

두 곳인데요

1. 수정전
           
 $upload_count = count($_FILES['bf_file']['name']); 


1. 수정후

        
    if (is_array($_FILES['bf_file']['name']) ) {   //추가
                 if ($row_file['bf_file'] > count($_FILES['bf_file']['name'])) {  //추가
                     $upload_count = count($_FILES['bf_file']['name']);
                 }  //추가
             }  //추가
 

 

2. 수정전
           
 for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) { 


2. 수정후

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

for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
---중략
             }  //추가

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

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

눈팅한 것입니다.

github.com/Automattic/jetpack/issues/8420 

 

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

2038512418_1566528700.8548.png

7.2.20  -- count 에러

7.3.7 ---count에러 발생

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

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

진정한 답은 아니지만..

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

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

감사합니다~

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #php7 ×
전체 69
© SIRSOFT
현재 페이지 제일 처음으로