2026, 새로운 도약을 시작합니다.

Warning: array_merge(): Argument #2 게시판에러 채택완료

게시판을 다른것으로 교체하고 아무것도 건드린것이 없는데 이렇게 에러가 나네요 ㅜㅜ

admin.lib.php->>60번째 구간이이부분인데요 


    $skins = array_merge($skins, get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR));

모바일 스킨 SELECT 선택구간 인데요 왜 에러가 날까요??

32956931_1626421401.721.png

답변 6개

채택된 답변
+20 포인트

"adm/admin.lib.php" 에서 다음 함수

// 스킨경로를 얻는다
function get_skin_dir($skin, $skin_path=G5_SKIN_PATH)
{
    global $g5;

    $result_array = array();

    $dirname = $skin_path.'/'.$skin.'/';
    if(!is_dir($dirname))
        return array(); // 여기를 수정하세요.

    $handle = opendir($dirname);
    while ($file = readdir($handle)) {
        if($file == '.'||$file == '..') continue;

        if (is_dir($dirname.$file)) $result_array[] = $file;
    }
    closedir($handle);
    sort($result_array);

    return $result_array;
}

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

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

 if(!is_dir($dirname))
        return array(); // 이렇게 수정하니 

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

69번째줄 에러가나요

// 모바일 스킨디렉토리를 SELECT 형식으로 얻음

function get_mobile_skin_select($skin_gubun, $id, $name, $selected='', $event='')

{
    global $config;

    $skins = array();

    if(defined('G5_THEME_PATH') && $config['cf_theme']) {
        $dirs = get_skin_dir($skin_gubun, G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR);
        if(!empty($dirs)) {
            foreach($dirs as $dir) {
                $skins[] = 'theme/'.$dir;
            }
        }
    }

  $skins = array_merge($skins, [get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR)]);

    $str = "<select id=\"$id\" name=\"$name\" $event>\n";
    for ($i=0; $i<count($skins); $i++) {
        if ($i == 0) $str .= "<option value=\"\">선택</option>";
        if(preg_match('#^theme/(.+)$#', $skins[$i], $match))     >>이부분이요 
            $text = '(테마) '.$match[1];
        else
            $text = $skins[$i];

        $str .= option_selected($skins[$i], $selected, $text);
    }
    $str .= "</select>";
    return $str;
}

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

답변에 대한 댓글 1개

array_merge($skins, [get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR)]);
이 부분에서 []는 빼 주세요.

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

다시 확인해보니

모바일 스킨카테고리에 basic 랑  gallery 랑 뜨네요 

32956931_1626428866.2019.png

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

답변에 대한 댓글 1개

^^.

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

G5_MOBILE_PATH.'/'.G5_SKIN_DIR

여기에 모바일 스킨이 없어서 나오는 거 아닐까요?

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

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

 var_export(get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR));

는 값이 아예없고 

$skins = array_merge($skins, [get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR)]);

이걸로하니 마법부린것 마냥 에러부분이 해결은 되었는데요 ^^

문제는  모바일부분 게시판스킨설정하라고 나와요

원래는 그냥 선택안하고 저장버튼누르면되었는데요   아래부분만 해결하면될것같은데요 ^^

32956931_1626425406.6938.png

echo get_mobile_skin_select('board', 'bo_mobile_skin_'.$i, "bo_mobile_skin[$i]", $row['bo_mobile_skin']); 

는 저거대신에 넣으니 아무것도 안나오고 하얀바탕에 에러문가 나와요 

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

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

 var_export(get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR));

값이있나 체크해보시고

해당 모바일 스킨에 디렉토리 및 파일있는지확인하시고

  $skins = array_merge($skins, [get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR)]);

이렇게 해보실레요.

안되시면

 echo get_mobile_skin_select('board', 'bo_mobile_skin_'.$i, "bo_mobile_skin[$i]", $row['bo_mobile_skin']); 

이렇게 해보시구요.

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

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

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

로그인
🐛 버그신고