게시판 첨부파일 관련

게시판 첨부파일 관련

QA

게시판 첨부파일 관련

본문

유저가 정보를 입력하고 게시글을 등록하면 

뷰페이지에서는 첨부파일들을 다운로드 할 수 있고

관리자는 어떤 파일을 다운로드 했는지 체크해야 합니다.

 

이럴때 첨부파일을 임의로 지정해서 등록할 수 있나요?

서버에 파일을 올려두고

게시판 글 등록시 파일들을 자동으로 첨부되도록 한다면

어떻게 해야하나요? 경로라던지 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 2

관지라자 업로드 해둔 화일을 굳이 자동 첨부 되도록 만들 이유가 없습니다

개인 마다 각각 같은 내용으로 첨부 한다는 것은 아주 비효율적입니다

 

view스킨에서 적당한 위치에 다운로드 링크만 넣어주면 될 것입니다

 

<a href="down.php?fname=asdfg.jpg">1번화일 다운로드</a>

<a href="down.php?fname=213456.pdf">2번화일 다운로드</a>

 

down.php는 bbs/download.php를 복사해서 화일명 구하는 앞 부분 모두 삭제하고

다음코드 부분 부터 수정하면 되겠습니다

$original = $fname; //한글화일이면 업로드한 화일명을 변경하고 여기서 한글로 설정하면 됨

$filepath = '../upload/'.$fname; // root/upload 폴더에 관리자가 업로드한 화일명 

 

if(preg_match("/msie/i",~~~

 

================

어떤 파일을 다운로드 했는지 체크 <===

이 작업은 테이블을 하나 만들어서 화일명과 다운받은 아이디 기록 코드를 마지막에 추가해주면 되겠습니다

sql_query("insert g5_download set mb_id='{$member['mb_id']}, file='$fname' ");

//g5_download <==생성한 테이블

 

 

 

안녕하세요.

아래의 내용을 참고를 해보시겠어요~

 

1. write_update.php

// write_update.php 파일 내에 추가
// 자동 첨부 파일 경로
$user_files_dir = G5_PATH . '/data/user_files/';

// 자동 첨부할 파일 목록
$user_files = scandir($user_files_dir);

// $wr_id는 게시글 ID
// $bo_table은 게시판 테이블명
if ($w == 'u' || $w == 'r') { // 게시글 등록 또는 수정 시
    foreach ($user_files as $file) {
        if ($file == '.' || $file == '..') {
            continue;
        }

        $source = $user_files_dir . $file;
        $dest_dir = G5_DATA_PATH . '/file/' . $bo_table . '/' . $wr_id . '/';
        if (!is_dir($dest_dir)) {
            mkdir($dest_dir, G5_DIR_PERMISSION, true);
            chmod($dest_dir, G5_DIR_PERMISSION);
        }

        $dest = $dest_dir . $file;
        copy($source, $dest);
    }
}


2. download.php

// download.php 파일 내에 추가
// 다운로드 요청 시 로그 기록
$mb_id = $member['mb_id']; // 현재 로그인한 사용자 ID
$file_name = basename($file); // 다운로드할 파일명
$download_time = date('Y-m-d H:i:s'); // 다운로드 시간
$ip_address = $_SERVER['REMOTE_ADDR']; // 사용자 IP 주소

$sql = "INSERT INTO download_logs (mb_id, file_name, download_time, ip_address)
        VALUES ('$mb_id', '$file_name', '$download_time', '$ip_address')";
sql_query($sql);


 

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 2,594
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT