아작스 이미지 업로드시

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
아작스 이미지 업로드시

QA

아작스 이미지 업로드시

본문

 

에디터에서 멀티업로드도 좋고 개별 업로드도 좋고 여튼 이미지를 업로드하는 틀을 만들때

wr_id 를 미리 받아와서 이미지 이름에다 붙이는 방법은 없을까요?

 

아무리 생각해도 wr_id 의 마지막값을 받아서 더하기 1을 한다고 해도 회원접속이 많거나 서버 속도 등등을 따지면 순번이 바뀔 수 있는 재수없는 상황이 생길 것 같아서요.

 

그래서 생각하는 것이 원래는

 

게시판명/wr_id_마이크로초.jpg 형태로 하려고 했는데(그래야 파일관리가 쉬움)

wr_id 를 못받아 오니까 게시판명/글쓴이아이디_마이크로초.jpg 로 만들고 최초글쓰기시에만 업뎃 후 다시

write 페이지로 돌아와서 업로드파일 중 wr_id 부분이 없고 본인아이디 부분이 있으면 그걸 리네임해버리고 뷰페이지로 넘어가는 수를 생각하고 있기는 한데...

 

wr_id 를 정확하게 미리 받는 좋은 방법 있으신 분 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 4

wr_id,wr_num만있는 (나머지 데이터는 비어있는) 행을 하나 미리 넣어놓고 wr_id받아온다음 글쓰기 완료시에 update하시면 안되나요?

음... 이럴 경우 wr_id 만 등록하고 완성글이 쓰여질 때까지의 시간 격차가 클 때에는
리스트페이지의 가장 상단부에 그 시간 동안 맹탕 게시글 하나가 올라가 있을 텐데...
그걸 글이 완성될 때까지 리스트에서 제외하는 로직이 또 하나 첨가되어야 하겠네요.
좋은 의견 감사합니다.

wr_id를 미리 받아오는것보다 

1. 마이크로초로 파일명을 만들어서 올리신후에

2. 글 저장이 완료된후에 wr_id가 나오면

3. 저장된 파일명을 wr_id마이크로초로 변경

하시는 방법이 맞을듯 합니다.

그건 뷰페이지에서 행해져야 하는 로직을 의미하는가요?
그럴 경우 예컨대 이미지를 올리고 에디터로 옮긴 후 이미지를 Delete 키 등으로 없애거나 잘라내기하면 wr_content 에는 이미지의 흔적이 남지 않아서 그런 이미지들은 뷰페이지에서 리네임을 할 수 없을 것 같단 생각이 듭니다. 그때 그 빈틈을 막는 로직은 따로 만들어야 하구요.
좋은 의견 감사합니다.

현재 말씀을 제가 제대로 이해한게 맞는지 잘 모르겠지만..

 

우선 보여지는 파일 업로드시 미리 보여지는 이미지는 말 그대로 업로드가 된게 아닌 현상이지요..

그래서 우선적으로 파일을 등록하는것은 따로 등록된게 아닙니다.

해서 php 로 DB Insert 나 Update 할 경우에 처해지는데요...

 

파일을 실제 저장하는 write_update.php 관련해서

$FileName = $_FILES['files']['name'][$i];

$FileName = preg_replace("/\.(c|h|sh|pl|py|php|phtm|htm|html|cgi|exe|jsp|jsf|asp|inc|jnlp|java|js|xml)$/i", "$0-x", $FileName);
$f_exe = explode(".",$FileName);
$f_exe_c = count($f_exe)-1;
$f_exes = $f_exe[$f_exe_c];

 

$newFileName = time()."_".$wr_id.".".$f_exes;

처럼 업로드 파일 명을 변경 한 후 

$new_dir = "파일 저장경로(절대경로)";

$uploadfile = $new_dir."/".$newFileName;

move_uploaded_file($_FILES['files']['tmp_name'][$i], $uploadfile);

 

로 하시면 변경된 데이터로 FTP 위치에 파일이 저장되며...

DB 인서트나 업데이트 시 filename = '{$newFileName }' 로 하시면 변경된 이름으로 저장되실겁니다.

 

 

글쓰기 페이지에는 hidden 타입으로 name=uid가 들어갑니다.

파일을 업로드할 때도 이 uid를 참조해 파일과 함께 전송하여 업로드 처리하고(uid를 파일명 앞에 붙여두면 되겠죠), 글이 저장될 때 uid를 받아 업로드된 파일의 이름을 바꾸는 등의 동작을 처리하면 됩니다.

 

uid는 get_uniqid() 함수로 생성된 시간 기반의 값입니다. 

 

스킨에 따라 uid 필드가 없거나 값이 없다면 get_uniqid() 함수로 값을 받아 채워넣으면 되겠죠.

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

회원로그인

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