파일명에 wr_num 포함시키기 질문
본문
이미지 게시판에 이미지를 올리면 첫번째 게시물 번호가
No. <span><?= ($list_item['wr_num'] * -1) ?></span>
로 출력됩니다.
해당 글의 이미지 파일명을
$upload[$i]['file'] = $bo_table . '_' . abs($wr_num) . '_' . $mb_id
(파일명 : 게시판이름_게시물번호_작성자아이디)
위에처럼 바꿨는데 가끔씩 abs($wr_num) 부분이 0번째 게시물이 아님에도 0으로 출력되면서 다른 게시글과 꼬이는 현상이 발생됩니다. (게시물번호는 정상적으로 출력되고 파일명만 0으로 되는데, 해당 게시물을 삭제하고 다시 올리면 정상 출력됩니다. 랜덤하게 파일명이 "게시판이름_0_작성자아이디" 로 저장돼요.)
혹시 파일명에 게시물 번호가 유지되면서 문제 해결할 수 있는 방법이 있을까요?
답변 3
아래의 내용을 한번 참고를 해보세요.
$unique_id = uniqid();
$upload[$i]['file'] = $bo_table . '_' . $wr_id . '_' . $unique_id . '_' . $mb_id;
※ wr_num
대신 wr_id
를 사용하는 방식으로, wr_id
가 없는 경우를 대비한
예외 처리 코드를 추가하는 방법으로 처리하여 보세요.
/bbs/write_update.php
- wr_id
를 사용하여 이미지 파일 이름을 수정하는 코드
기존 코드
$upload[$i]['file'] = $bo_table . '_' . abs($wr_num) . '_' . $mb_id;
수정 코드
$wr_id = isset($write['wr_id']) ? $write['wr_id'] : null;
if ($wr_id) {
$upload[$i]['file'] = $bo_table . '_' . $wr_id . '_' . $mb_id;
} else {
$upload[$i]['file'] = $bo_table . '_unknown_' . $mb_id;
}
문제점을 찾았습니다.
업로드 이후 이미지를 수정하게 되면 파일명인 abs($wr_num) 값이 0으로 초기화 됩니다.
혹시 이미지 수정해도 파일명인 abs($wr_num) 값이 유지 되게 할 수 있는 방법이 있을까요?