묻고답하기
요새 제가 외부 html 소스에서 url을 추출해 썸네일을 만드는 소스를 구현했는데요...
2015.02.11 07:35
이게 제 http://www.blrun.net/ 사이트를 와 보시면 알겠지만 [스크랩] 11페이지와 [스크랩] 19페이지에서 썸네일 이미지를 보여주는 과정에서 게시판에 랙이 생기는 현상이 있는데 아직까지 마땅한 해결책을 찾지 못하고 있습니다.
소스를 알려드리면
// 외부 html <img> 태그 src url 추출 $imagePattern="#<img[^>]*src=[\\\']?[\\\"]?(http[s]?:\/\/[^>\\\'\\\"]+)[\\\']?[\\\"]?[^>]*>#i"; preg_match_all($imagePattern,$data[memo],$img,PREG_SET_ORDER); for($i=0;$i<2;$i++) if(($mypos=strrpos($img[$i][1],"http://"))||($mypos=strrpos($img[$i][1],"https://"))) $img[$i][1]=substr($img[$i][1],$mypos);
해당 썸네일 추출 부분은 아래와 같습니다. 함 보세요.
}elseif(($src_img1=stripslashes($img[0][1])) && !preg_match("#\.(gif|bmp)$#i",$src_img1)){ if(!file_exists($Thumbnail_path.$data[ismember]."/".$Thumbnail_small1) || !file_exists($Thumbnail_path.$data[ismember]."/".$Thumbnail_large1)){ $size=array(52,200); thumbnail($size,$src_img1,$Thumbnail_path.$data[ismember]."/",$Thumbnail_small1,$Thumbnail_large1,3/4); } $thumb_img1=$Thumbnail_url.$data[ismember]."/".str_replace("%2F", "/", urlencode($Thumbnail_large1)); $thumb_img12=$Thumbnail_url.$data[ismember]."/".str_replace("%2F", "/", urlencode($Thumbnail_small1)); }
이렇게 돼 있는데 이상하게 제가 언급해 드린 [스크랩] 페이지 부분에서 심한 딜레이와 랙이 생기네요. 근데 이걸 제가 구글에서 찾아보고 네이버 오픈캐스트에서 썸네일을 추출하는 기능을 이용해 봤는데요 거기서도 랙이 생기고 지연 시간만 저와 약간 차이가 날뿐 비슷합니다. 네이버 오픈캐스트는 비교적 빨리 썸네일이 추출되고 랙 걸리는 시간이 적다는 거지요. 이 부분을 랙이 적게 걸리게 하거나 안 걸리게 하는 방법이 없을까요?
요새 며칠 째 고민 중인데 마땅히 해결책이 보이지 않네요. 괜한 외부 html 소스에서 img 태그 썸네일 추출한다고 했다가 큰 복병을 만났습니다. 고수님들의 도움을 요청합니다.
여러분도 테스트 해보시고 추출되는 img 태그 url을 살펴보시면 알겠지만 리스트에서 보시는 바와 같이 [스크랩] 11페이지 부분에서 url은 추출되는데 이상하게 리스트가 늦게 출력됩니다. 제가 혹시 썸네일이 안만들어졌나 해서 호스팅 디스크 디렉토리를 뒤져봤지만 분명히 썸네일은 생성돼 있었습니다. 그렇다면 제 소스를 분석해 보시면 아시겠지만 기존 썸네일이 생성돼 있으면 파일이 존재하는지 체크해서 썸네일 생성하는 단계를 스킵하는데 왜 게시판이 느려지는지 모르겠다는 겁니다. 처음에 전 게시글 안의 img 태그에서 url이 추출되지 않는 문제 때문에 그런 것 아니냐는 추측을 했습니다만 설사 url이 추출되지 않는다 하더라도 [광고게시판] 3페이지에 있는 "다크서클은 필러밖에 답이없나요?" 와 그 다음 "뭉텅한 턱... 필러고민이에요" 포스트를 관찰해 보면 알지만 url이 추출되지 않는다 하더라도 썸네일 생성할 때 url이 존재하는지 사전에 if문 단계에서 걸러주기 때문에 이렇게 게시판이 느려질 이유가 없다는 것이죠. 이것도 좀 이상합니다. "다크서클은 필러밖에 답이없나요?" 와 그 다음 "뭉텅한 턱... 필러고민이에요" 포스트를 클릭해보면 내용보기 리스트에선 검정색의 썸네일이 생성돼 있는 것을 확인할 수 있습니다. 이미 썸네일이 생성돼 있기 때문에 소스에서 썸네일 파일이 존재하는지 if 문에서 체크한다는 것이고 그렇기 때문에 게시판이 느려질 이유가 없다는 겁니다.
크롬의 버그일까요 아니면 어떤 다른 문제일까요? 원인을 잘 모르겠네요. 파일명을 추적해 보다 보니 의문은 더욱 커집니다.
현재 [스크랩] 19페이지("대학은 다양한 가치를 추구하는 곳...")도 로딩이 느립니다. 그 페이지도 함 테스트해 보십시요. 그 줄이 늦게 로딩이 되고 있는데 검은 썸네일이 생성돼 있을텐데 왜 느린지 모르겠습니다.