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

게시판 리스트에 오류가 떠요. 채택완료

WD벨라 10년 전 조회 4,094

Deprecated: Function split() is deprecated in /home/dreamictftp/wwwhome/bbs/list.php on line 86

 

게시판의 리스트 상단 부분에 이런 오류가 나타나는데 어떻게 수정해야하는지 모르겠습니다..

보기, 쓰기 페이지에서는 나타나지 않구요.

 

뭐가 문제인걸까요?

 

아래는 bbs/list.php 소스입니다.

 

 

</p><p> </p><p><? </p><p>// 분류 사용 여부
$is_category = false;
if ($board[bo_use_category]) 
{
    $is_category = true;
    $category_location = "./board.php?bo_table=$bo_table&sca=";
    $category_option = get_category_option($bo_table); // SELECT OPTION 태그로 넘겨받음
}</p><p>$sop = strtolower($sop);
if ($sop != "and" && $sop != "or")
    $sop = "and";</p><p>// 분류 선택 또는 검색어가 있다면
if ($sca || $stx) 
{
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);</p><p>    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from $write_table ";
    $row = sql_fetch($sql);
    $min_spt = $row[min_wr_num];</p><p>    if (!$spt) $spt = $min_spt;</p><p>    $sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";</p><p>    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    $sql = " select distinct wr_parent from $write_table where $sql_search ";
    $result = sql_query($sql);
    $total_count = mysql_num_rows($result);
} 
else 
{
    $sql_search = "";</p><p>    $total_count = $board[bo_count_write];
}</p><p>$total_page  = ceil($total_count / $board[bo_page_rows]);  // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함</p><p>// 관리자라면 CheckBox 보임
$is_checkbox = false;
if ($member[mb_id] && ($is_admin == "super" || $group[gr_admin] == $member[mb_id] || $board[bo_admin] == $member[mb_id])) 
    $is_checkbox = true;</p><p>// 정렬에 사용하는 QUERY_STRING
$qstr2 = "bo_table=$bo_table&sop=$sop";</p><p>if ($board[bo_gallery_cols]) 
    $td_width = (int)(100 / $board[bo_gallery_cols]);</p><p>// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
if (!$sst) 
{
    $sst  = "wr_num, wr_reply";
    $sod = "";
}
$sql_order = " order by $sst $sod ";</p><p>if ($sca || $stx) 
{
    $sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
} 
else
{
    $sql = " select * from $write_table where wr_is_comment = 0 $sql_order limit $from_record, $board[bo_page_rows] ";
}
$result = sql_query($sql);</p><p>// 년도 2자리
$today2 = $g4[time_ymd];</p><p>$list = array();
$i = 0;</p><p>if (!$sca && !$stx) 
{
    $arr_notice = split("\n", trim($board[bo_notice]));
    for ($k=0; $k<count($arr_notice); $k++) 
    {
        $row = sql_fetch(" select * from $write_table where wr_id = '$arr_notice[$k]' ");
        if (!$row[wr_id])
            continue;</p><p>        $list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
        $list[$i][is_notice] = true;</p><p>        $i++;
    }
}</p><p>$k = 0;</p><p>while ($row = sql_fetch_array($result)) 
{
    // 검색일 경우 wr_id만 얻었으므로 다시 한행을 얻는다
    if ($sca || $stx)
        $row = sql_fetch(" select * from $write_table where wr_id = '$row[wr_parent]' ");</p><p>    $list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
    if (strstr($sfl, "subject"))
        $list[$i][subject] = search_font($stx, $list[$i][subject]);
    $list[$i][is_notice] = false;
    //$list[$i][num] = number_format($total_count - ($page - 1) * $board[bo_page_rows] - $k);
    $list[$i][num] = $total_count - ($page - 1) * $board[bo_page_rows] - $k;</p><p>    $i++;
    $k++;
}</p><p>$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "./board.php?bo_table=$bo_table".$qstr."&page=");</p><p>$list_href = '';
$prev_part_href = '';
$next_part_href = '';
if ($sca || $stx)  
{
    $list_href = "./board.php?bo_table=$bo_table";</p><p>    //if ($prev_spt >= $min_spt) 
    $prev_spt = $spt - $config[cf_search_part];
    if (isset($min_spt) && $prev_spt >= $min_spt)
        $prev_part_href = "./board.php?bo_table=$bo_table".$qstr."&spt=$prev_spt";</p><p>    $next_spt = $spt + $config[cf_search_part];
    if ($next_spt < 0) 
        $next_part_href = "./board.php?bo_table=$bo_table".$qstr."&spt=$next_spt";
}</p><p>$write_href = "";
if ($member[mb_level] >= $board[bo_write_level]) 
    $write_href = "./write.php?bo_table=$bo_table";</p><p>$nobr_begin = $nobr_end = "";
if (preg_match("/gecko|firefox/i", $_SERVER['HTTP_USER_AGENT'])) {
    $nobr_begin = "<nobr style='display:block; overflow:hidden;'>";
    $nobr_end   = "</nobr>";
}</p><p>// 4.00.12
$rss_href = "./rss.php?bo_table=$bo_table";</p><p>include_once("$board_skin_path/list.skin.php");
?>
​</p><p> </p><p>
 

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

답변 3개

채택된 답변
+20 포인트
P
10년 전

split 함수는 PHP 5.3.0이상 부터는 제거예정으로 등록되는 함수입니다.

새로운 함수 preg_split를 이용해주세요. 또는 그누보드 common.php 상단에 ini_set("display_errors",0); 을 설정해서 안보이게 바꿔주세요.

 

preg_split로 바꾸실려면 \n이 되있는 부분에 /\n/ 으로 바꿔주시면 됩니다.

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

답변에 대한 댓글 1개

W
WD벨라
10년 전
ini_set("display_errors",0);
common.php 파일에 이걸 넣으니 해결되네요 ^^
감사합니다!

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

10년 전

그누보드 버젼이 어마어마한 골동품버젼인 모양이네요

최신버젼을 받아서 list.php만 덮어쓰기 하거나

위 소스번호에서 86행이 아니고 68행 split를 explode 로 바꾸면 됩니다

 

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

답변에 대한 댓글 3개

W
WD벨라
10년 전
split를 explode로 바꾸기만 해도 해결되군요 ^^
채택은 먼저 답변주신 분으로 했는데 이것도 간단히 해결되는 방법이네요!
W
WD벨라
10년 전
앗 그렇군요~
적용은 균이님이 알려주신 방법으로 해뒀어요 ^^
균이
10년 전
ini_set("display_errors",0); <-- 이건 해결 방법은 아닙니다
결국 에러나는 부분은 처리를 하지 않은채로 남을테니까요 ㅠㅠ
즉 공지사항 출력을 못하는...

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

10년 전

http://php.net/manual/en/function.split.php">http://php.net/manual/en/function.split.php

split 함수에 대한 설명 윗부분에 보시면

 

Warning

This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.

5.3.0부터 배제된다고 나오네요.

서버에 설치된 PHP 버전을 5.3.0까지 안 올리면 문제가 될 건 없습니다.

경고 메시지라서요.
로그인 후 평가할 수 있습니다

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

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

로그인