회원이미지를 바꿔도 회원정보수정에서 미리보기가 바뀌지 않아요
본문
팁자료실의 위 게시글을 참고해서
register_form.skin.php 에 아래와 같이 넣고
<input type=file name='mb_icon2' class=ed><br> 가로500픽셀x세로500픽셀, jpg파일만 등록 가능합니다.
?>
$icon_file2 = "$g4[path]/memberimg/$member[mb_id].jpg";
if (file_exists($icon_file2)) {
echo "<br><img src='$icon_file2' align=absmiddle width=400><br>";
echo " <input type=checkbox name='del_mb_icon2' value='1' class='csscheck'>삭제 (이미지 수정 시 체크)";
}
?>
회원이미지가 지정폴더에 제대로 저장되고 첨부/수정했을 때 잘 출력되는 것도 확인했는데요.
딱 하나 이상한 게 회원정보수정을 할 때 기존의 이미지파일을 삭제 체크하고 새로운 이미지파일을 첨부하고 확인을 누르면
미리보기 뜨잖아요. 위 소스에서 echo "<br><img src='$icon_file2' align=absmiddle width=400><br>"; 이부분이요.
거기에 바뀌기 이전의 이미지 파일이 뜹니다.
저 회원정보수정의 미리보기 부분도 확인을 누르면 안 바뀌는데 새로고침을 하면
웹페이지를 다시 표시하려면 웹브라우저에서 이전에 전송한 정보를 다시 전송해야 합니다.
물품을 구매한 경우 [취소]를 클릭하여 중복거래를 방지해야 합니다.
그렇지 않으면 [다시 시도]를 클릭하여 웹페이지를 다시 표시하십시오.
이런 메세지창 뜨면서, 그때 다시 시도 누르면 그제서야 바뀐 파일로 제대로 뜹니다.
이미지 저장이나 다른 페이지에서 출력되는 건 아무 문제가 없는데 유독 회원정보수정에서만 그러네요.
왜 이러는 거죠?? 새로고침 안 해도 제대로 보이게 할 순 없을까요??
답변 2
아래처럼 해주세요
<img src='$icon_file2?$g4[server_time]' align=absmiddle width=400><
회원이미지파일은 회원의 아이디로 파일명이 저장됩니다.
이게 캐쉬에 저장이 되서 캐쉬가 새로고침이 되지 않으면 이전에 저장하고있던 파일이 출력됩니다.
만약 수정하고 바로 변경된 파일이 보이게 하고 싶으시면 회원이미지파일명이 매번 다르게 저장이 되게 해야합니다.
그렇게 하려면 db에 컬럼도 하나 추가해야합니다.