게시글 엑셀 다운로드 경고창 문의

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
게시글 엑셀 다운로드 경고창 문의

QA

게시글 엑셀 다운로드 경고창 문의

답변 4

본문

이런 에러가 뜨는거보니 확장자명이 xls이라서 그런걸까요..?

csv, xlsx바꿔야한다는 게시글도 본것 같은데..

아래코드에서 수정할 수 없을까요?

조언이나 관련링크 부탁드립니다..버전은 gnuboard5.6.5입니다.

1846272527_1736838386.7024.png


<?php
    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    // 공통 파일 포함 경로를 찾는 함수
    function is_common($inc) {
        $root_dir = ["adm", "bbs", "extend"];
        $dir_count = 0;
        foreach ($root_dir as $g5_dir) {
            if (is_dir($inc . $g5_dir)) {
                $dir_count += 1;
            }
        }
        return $dir_count === count($root_dir);
    }
    // 공통 파일 경로 설정
    if (is_common("./")) {
        $common_include = "./common.php";
    } else {
        $parent_dir = "../";
        while (!is_common($parent_dir)) {
            $parent_dir .= "../";
        }
        $common_include = $parent_dir . "common.php";
    }
    include_once($common_include);
    // 관리자 여부 확인
    if (!$is_admin) {
        alert("관리자가 아닙니다.", "/");
    }
    // 테이블명 설정
    $table_name = "g5_write_counsel";
    $g5['title'] = "엑셀 문서 다운로드";
    $excel_title = $config['cf_title'];
    // 날짜 처리
    $start_date = isset($_POST['start_date']) ? date('Y-m-d', strtotime($_POST['start_date'])) : '';
    $end_date = isset($_POST['end_date']) ? date('Y-m-d', strtotime($_POST['end_date'])) : '';
    $file_name = $start_date && $end_date ? $excel_title."_{$start_date}_{$end_date}" : $excel_title."_all_data";
    // 헤더 설정
    header("Content-type: application/vnd.ms-excel");
    header("Content-Disposition: attachment; filename={$file_name}.xls");
    header("Content-Description: PHP Generated Data");
    // SQL 쿼리 설정
    if ($start_date && $end_date) {
        $query = "SELECT * FROM $table_name 
                  WHERE wr_datetime BETWEEN '$start_date 00:00:00' AND '$end_date 23:59:59' 
                  ORDER BY wr_datetime";
    } else {
        $query = "SELECT * FROM $table_name 
                  WHERE wr_comment = 0 
                  ORDER BY wr_datetime";
    }
    // 디버깅용: 쿼리 출력
    echo "<pre>Executing query: $query</pre>";
    // 쿼리 실행
    $result = _query($query);
    if (!$result) {
        die("Query execution failed. Please check the query syntax and database connection.");
    }
?>
<html>
<head>
    <title><?= htmlspecialchars($g5['title']) ?></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
    <table width="100%" cellpadding="0" cellspacing="0" border="1">
        <tr style="text-align:center; height:30px;">
            <td style="font-weight:bold;">순번</td>
            <td style="font-weight:bold;">wr_datetime</td>
            <td style="font-weight:bold;">wr_ip</td>
            <td style="font-weight:bold;">wr_name</td>
            <td style="font-weight:bold;">wr_1</td>
            <td style="font-weight:bold;">wr_2</td>
            <td style="font-weight:bold;">wr_3</td>
            <td style="font-weight:bold;">wr_4</td>
            <td style="font-weight:bold;">wr_5</td>
            <td style="font-weight:bold;">wr_6</td>
            <td style="font-weight:bold;">wr_7</td>
            <td style="font-weight:bold;">wr_8</td>
            <td style="font-weight:bold;">wr_9</td>
            <td style="font-weight:bold;">wr_10</td>
            <td style="font-weight:bold;">wr_content</td>
        </tr>
        <?php
        $i = 0;
        while ($data = sql_fetch_array($result)) {
            $i++;
            echo "<tr style='height:30px'>
                <td>{$i}</td>
                <td>{$data['wr_datetime']}</td>
                <td>{$data['wr_ip']}</td>
                <td>{$data['wr_name']}</td>
                <td>{$data['wr_1']}</td>
                <td>{$data['wr_2']}</td>
                <td>{$data['wr_3']}</td>
                <td>{$data['wr_4']}</td>
                <td>{$data['wr_5']}</td>
                <td>{$data['wr_6']}</td>
                <td>{$data['wr_7']}</td>
                <td>{$data['wr_8']}</td>
                <td>{$data['wr_9']}</td>
                <td>{$data['wr_10']}</td>
                <td>{$data['wr_content']}</td>
            </tr>";
        }
        // 데이터가 없는 경우
        if ($i === 0) {
            echo "<tr><td colspan='14' style='text-align:center;'>선택한 기간동안 데이터가 없습니다.</td></tr>";
        }
        ?>
    </table>
</body>
</html>

이 질문에 댓글 쓰기 :

답변 4

그누보드랑은 상관 없는 것 같습니다.

 

https://mainia.tistory.com/6400

소스 기능단의 오류라기 보다는 윈도우 보안상 문제라 해당 오류 안뜨게 하기 위해서는 참고 주소 처럼 레지스트리를 변경하셔야 할듯 보여집니다.

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