New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
프로필 이미지 URL에 filemtime을 추가하여 변경시 캐시 갱신 유도 #1816
Conversation
넘나 멋진 것 1 |
@kijin 이미지 마크, 이미지 이름은 애드온 뭐 근데 없어도 작동엔 무리 없어보이기도 하니.. 큰 문제는 없겟지만요.. |
33번째줄부터 이렇게 저는 수정했습니다. if(file_exists(_XE_PATH_ . $image_name_file))
{
$_tmp->image_name_file = $image_name_file. '?' . date('YmdHis', filemtime(_XE_PATH_ . $image_name_file));
}
else
{
$image_name_file = '';
}
if(file_exists(_XE_PATH_ . $image_mark_file))
{
$_tmp->image_mark_file = $image_mark_file. '?' . date('YmdHis', filemtime(_XE_PATH_ . $image_mark_file));
}
else
{
$image_mark_file = '';
} |
@qw5414 님이 알려주신 대로 적용하여 커밋 추가했습니다. |
^^b |
PR모두 적용했는데 이상한 현상이 발생하고 있습니다. 대부분 게시물에서는 아래 형태의 이미지이름이 노출되고 있구요. 지금 1개의 게시물에서는 아래의 이미지 이름이 노출됩니다. 회원정보에서는 FTP로 접속해서 보면 아래의 주소의 파일명을 가진 파일 1개만 있습니다. 두개가 다른 이미지로 보이고 있구요. 클라우드플레어 갱신 애드온을 병행해서 사용하고 있습니다. |
@wookho 해당 URL좀.. |
@qw5414 메인 페이지나 혹은 한줄수다에서 보시면되요... |
@kijin 글로벌함수에,
|
@qw5414 한줄수다의 맨마지막 글과 기존글의 이미지이름 파일명이 같나요? 전 다르던데요..... 이미지가 아주 미세하게 차이가 납니다. 저는 새로운 브라우저로 열어보아도 두개가 다르게 보입니다. |
@qw5414 스케치북 게시판의 글 작성자에 나오는 이미지이름도 위 형태로 노출이 되네요. |
@wookho 눈이 안좋아서 .. 보니깐 약간 다르네요, |
제판단에는 지금 회원이 이미지를 두번 올렸던 거 같으데요. 어찌 되었던 이러한 케이스가 발생한다는건 유저 혼돈을 막기 위해 해결은 해야 할 듯 하네요. 그리고 날짜가 붙은 파일도 캐시되어 있구요... 저희 본서버에는 어차피 날짜가 붙지 않은 파일도 최신 파일일테니 클라우드플레어 캐시를 잠시 중단하면 이번 것은 해결될 듯 하지만 다음에 또 발생할 듯 합니다. 클라우드 플레어 캐시를 잠시 껐다 켜볼게요. |
@qw5414 예상대로 클라우드플레어 캐시를 끄고 새로고침하여 다시 본서버의 이미지를 불러오게 하니 최신 파일로 갱신이 되었습니다. 하지만 불러오는 주소는 여전히 문제가 있죠 이 pr 자체가 클라우드플레어 뿐 아니라 다른 캐시에도 대응하려고 한거니 클라우드플레어뿐 아니라 사용자에 따라서 브라우저캐시 때문에 동일한 현상이 발행할 것으로 보입니다. |
클라우드플레어의 문제는 전혀 없습니다. |
파일이 같은데, 다른 파일로 나타나는건 백번 캐시부분의 이상 여부가 맞고, 클라우드플레어와는 전혀 무관한 XE내의 캐싱문제점이죠. (애초에, 프로필 사진과 동일하게 작동하게 햇더라면 괜찮앗을텐데 아마 닉네임부분을 지우고 해당 이미지로 대처하게 했어야 하니 애드온으로 제작되었겟지요. 그래서 글로벌 함수를 쓰는거고요..) |
@kijin 위젯포함, 한줄메모 게시판의 nick네임 함수에서도 동일하게 발생하고 있습니다. |
@kijin 감사합니다. 모든 브라우저에서 제대로 다 바로 잡혔습니다. |
회원이 프로필 사진을 새로 업로드하더라도 확장자가 같으면 URL이 동일하기 때문에, 일부러 새로고침을 하지 않으면 갱신되지 않는 문제가 있습니다. 웹서버의
Expires
설정이나 클라우드플레어 등을 사용하여 장기간 캐싱을 유도하는 경우에는 문제가 더 커집니다.이 패치는 기존의 XE 코어에서 CSS, JS 파일 변경시 URL에 자동으로 filemtime을 추가하여 캐시 갱신을 유도하는 기능을 회원 프로필 사진에도 똑같이 적용하여, 웹서버의
Expires
설정이나 클라우드플레어 등을 사용하는 사이트에서도 회원 프로필 사진이 즉시 업데이트되도록 합니다.