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 선택구간 인데요 왜 에러가 날까요??
답변 6
"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;
}
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']);
이렇게 해보시구요.
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']);
는 저거대신에 넣으니 아무것도 안나오고 하얀바탕에 에러문가 나와요
G5_MOBILE_PATH.'/'.G5_SKIN_DIR
여기에 모바일 스킨이 없어서 나오는 거 아닐까요?
다시 확인해보니
모바일 스킨카테고리에 basic 랑 gallery 랑 뜨네요
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;
}