페이지를 캡쳐해서 따오는 링크 따오기™ 게시판 정보
게시판 페이지를 캡쳐해서 따오는 링크 따오기™ 게시판관련링크
첨부파일
본문
링크를 입력하면 해당 페이지를 그대로 캡쳐해서 썸네일로 저장해서 사용하는 게시판입니다.
페이스북처럼 링크의 내용을 따오는 게시판은 http://sir.kr/g5_skin/11660 를 이용하시면 되고, 이 스킨은 사이트의 내용을 따오는 것이 아니라 페이지를 이미지로 캡쳐하는 스킨입니다.
write_update.head.skin.php 에서 이미지를 캡쳐해서 저장하고 이미지 주소를 wr_1, wr_2에 저장합니다. (기본세팅, 링크 두개 사용시)
리스트에서 게시물의 첨부 이미지가 없는 경우 wr_1이 있는지 확인해서 내용이 있으면 div의 배경 이미지 형태로 보여줍니다. (크기에 맞게 썸네일로 따로 만들기 귀찮아서...)
게시물 보기에서는 링크 리스트에 조그맣게 썸네일이 보이도록 했습니다.
이외 수정 사항은 없습니다.
테스트 게시판 주소는 http://btstocking.mooo.com/bbs/board.php?bo_table=thaogi_link 입니다.
아이디 / 비번 : test / test
* 테스트 게시판은 테스트 이외의 용도로는 사용하지 마십시오.
페이스북처럼 링크의 내용을 따오는 게시판은 http://sir.kr/g5_skin/11660 를 이용하시면 되고, 이 스킨은 사이트의 내용을 따오는 것이 아니라 페이지를 이미지로 캡쳐하는 스킨입니다.
write_update.head.skin.php 에서 이미지를 캡쳐해서 저장하고 이미지 주소를 wr_1, wr_2에 저장합니다. (기본세팅, 링크 두개 사용시)
리스트에서 게시물의 첨부 이미지가 없는 경우 wr_1이 있는지 확인해서 내용이 있으면 div의 배경 이미지 형태로 보여줍니다. (크기에 맞게 썸네일로 따로 만들기 귀찮아서...)
게시물 보기에서는 링크 리스트에 조그맣게 썸네일이 보이도록 했습니다.
이외 수정 사항은 없습니다.
테스트 게시판 주소는 http://btstocking.mooo.com/bbs/board.php?bo_table=thaogi_link 입니다.
아이디 / 비번 : test / test
* 테스트 게시판은 테스트 이외의 용도로는 사용하지 마십시오.
추천
13
13
댓글 전체
사이트 소개용도로 딱이군요!
네, 그렇습니다.
리스트에서 썸네일 클릭시 해당 페이지로 이동하게 해서 사용하려고 만들었습니다.
리스트에서 썸네일 클릭시 해당 페이지로 이동하게 해서 사용하려고 만들었습니다.
혹시 뷰화면엔 썸네일 크기말고 크게 보이려면 어떻게 해야될까여?
1. 스킨 폴더 안의 write_update.head.php의 내용을 싹 다 지우고 아래와 같이 바꿔주세요.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$screenshotlayer_key = "key를 여기다 넣으세요";
function link_image_thaogi($url=""){
if(empty($url)) return false;
$url_info = json_decode(file_get_contents("https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=".$url."&screenshot=true"), true);
$image['data'] = str_replace(array("_", "-"), array("/", "+"), $url_info['screenshot']['data']);//encoded
$image['mime'] = $url_info['screenshot']['mime_type'];
$image['decode'] = base64_decode($image['data']);
if(preg_match("/image\/(jpe?g|gif|png)+/i", $image['mime'], $match))
$extn = ".".str_replace("jpeg", "jpg", $match[1]);
else
$extn = "";
$ym = date('ym', G5_SERVER_TIME);
$data_dir = G5_DATA_PATH.'/editor/'.$ym;
$data_url = G5_DATA_URL.'/editor/'.$ym;
@mkdir($data_dir, G5_DIR_PERMISSION);
@chmod($data_dir, G5_DIR_PERMISSION);
$file_name = sprintf('%u', ip2long($_SERVER['REMOTE_ADDR'])).'_'.get_microtime().$extn;
$save_dir = sprintf('%s/%s', $data_dir, $file_name);
$save_url = sprintf('%s/%s', $data_url, $file_name);
$ifp = fopen($save_dir, "wb");
fwrite($ifp, $image['decode']);
fclose($ifp);
chmod($save_dir, G5_FILE_PERMISSION);
return $save_url;
}
function screenshotlayer_thaogi($url="", $screenshotlayer_key="") {
if(empty($screenshotlayer_key) || empty($url)) return false;
$image_source = file_get_contents("http://api.screenshotlayer.com/api/capture?access_key=".$screenshotlayer_key."&url=".$url."&viewport=1440x900&width=728");
//die($image_source);
$data_dir = G5_DATA_PATH.'/editor/'.$ym;
$data_url = G5_DATA_URL.'/editor/'.$ym;
@mkdir($data_dir, G5_DIR_PERMISSION);
@chmod($data_dir, G5_DIR_PERMISSION);
$file_name = sprintf('%u', ip2long($_SERVER['REMOTE_ADDR'])).'_'.get_microtime();//일단 확장자 없이 저장 -> 이미지 여부 확인 후 확장자 붙이기
$save_dir = sprintf('%s/%s', $data_dir, $file_name);
$save_url = sprintf('%s/%s', $data_url, $file_name);
$ifp = fopen($save_dir, "wb");
fwrite($ifp, $image_source);
fclose($ifp);
chmod($save_dir, G5_FILE_PERMISSION);
// 이미지인지 여부를 나중에 확인하는 이유는 먼저 확인하고 저장을 하면 screenshot을 두번 사용해야 하므로...
if(!$image = getimagesize($save_dir)) {
unlink($save_dir);// 이미지가 아니면 삭제
return false;
}
if(preg_match("/image\/(jpe?g|gif|png)+/i", $image['mime'], $match))
$extn = ".".str_replace("jpeg", "jpg", $match[1]);
@rename($save_dir, $save_dir.$extn);
return $save_url.$extn;
}
$prepend_content = "";
for ($i=1; $i<=G5_LINK_COUNT; $i++) {
${'wr_link'.$i} = set_http(${'wr_link'.$i});
if(isset(${'wr_link'.$i}) && !empty(${'wr_link'.$i}) && ${'wr_link'.$i} != $write['wr_link'.$i]) {
if($link_image = screenshotlayer_thaogi(${'wr_link'.$i}, $screenshotlayer_key)) {
${'wr_'.$i} = $link_image;
$prepend_content .= '<div style="margin-bottom: 30px; text-align: center;"><p style="border: 1px solid #f1f1f1;"><img src="'.$link_image.'" width="726"></p><p style="margin-top: 10px;">'.${'wr_link'.$i}.'</p></div>';
}
//if($link_image = link_image_thaogi(${'wr_link'.$i})) ${'wr_'.$i} = $link_image;
}
}
if(!$wr_1) $wr_1 = $write['wr_1'];
if(!$wr_2) $wr_2 = $write['wr_2'];
if($html == "html1")$wr_content = $prepend_content.$wr_content;
2. https://screenshotlayer.com/ 에 가셔서 회원가입 하시고 key 를 받아서 write_update.head.php의 key를 "여기다 넣으세요"에 넣으세요.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$screenshotlayer_key = "key를 여기다 넣으세요";
원래대로 쓰시려면 아래와 같이 주석처리를 반대로 해주시면 됩니다.
/*
if($link_image = screenshotlayer_thaogi(${'wr_link'.$i}, $screenshotlayer_key)) {
${'wr_'.$i} = $link_image;
$prepend_content .= '<div style="padding: 20px 0px 0px; border: 1px solid #f1f1f1; margin-bottom: 30px; text-align: center;"><p><img src="'.$link_image.'"></p><p style="margin-top: 20px; background-color: #f1f1f1; padding: 20px;">'.${'wr_link'.$i}.'</p></div>';
}
*/
if($link_image = link_image_thaogi(${'wr_link'.$i})) ${'wr_'.$i} = $link_image;
답변 감사합니다 근데 알려주신것뿐 아니라 올려놓으신 스킨 그대로 테스트 해봐도 이미지를 불러오지 못하는데요 그전 내용따오기는 댓글보고 수정하라는 내용있어서 수정하고 불러와지는데 이것은 그렇게 해도 안됩니다 ㅜㅜ 귀찮게 해서 죄송해유 원인을 알기는 어려울까요?
인단 제가 올려 놓은 스킨과 수정 방법을 테스트해본 결과 정상 작동하는 것으로 확인되었습니다.
혹시 서버 설정상 원격 파일을 불러오지 못하는 경우가 있을 수 있가 있습니다.
write_update.head.skin.php
아래에
를 넣어 테스트 해 볼 수 있을 것 같습니다.
혹시 서버 설정상 원격 파일을 불러오지 못하는 경우가 있을 수 있가 있습니다.
write_update.head.skin.php
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
아래에
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if(file_get_contents('http://naver.com')) alert("file_get_contents 사용 가능");
else alert("file_get_contents 사용 불가");
die();
를 넣어 테스트 해 볼 수 있을 것 같습니다.
답변 감사합니다
사용가능이라고 나오는데 안되네요 ㅜㅜ 혹시 다른분은 되시는지?
왜 나만 안되는지 큭
사용가능이라고 나오는데 안되네요 ㅜㅜ 혹시 다른분은 되시는지?
왜 나만 안되는지 큭
적절한 도움을 드리지 못해 죄송합니다.
아닙니다 충분히 도움 주셨죠
아래 링크 수대로 for문 돌리는 곳에서 조건을 변경해보세요
if(isset(${'wr_link'.$i}) && !empty(${'wr_link'.$i}) && ${'wr_link'.$i} ) {
if(isset(${'wr_link'.$i}) && !empty(${'wr_link'.$i}) && ${'wr_link'.$i} ) {
헐, 이런 거 막 푸시면 뭐 드시고 사시셈 ㅡㅡ;; 잘 쓰겠습니다.
잘 사용하시고 개선해서 올려주셔요...(_ _);
공부 해야 되는 거
오 멋진아이디어네요 추천드리고 갑니다.
s
대박 스킨이네요.
대박 ㄳㄳ
대박~
대박이요~
잘 사용하겠습니다.~^^
사이트 주소만 나오구
제목과 내용이 안나오는데 설정이 따로 있을까요?
제목과 내용이 안나오는데 설정이 따로 있을까요?
저기 혹시 일부만 소스 따로 알려줄수 있나요? 그누보드로 적용할건 아니라서..
구글 api를 그대로 이용하면서 썸네일 크기를 키울 수 있는 방법이 있을까요?
요거 쓰고 싶은데 제가 반응형이라 css가 깨집니다 ㅠ
캡쳐하는 소스를 기존 보드 폴더로 옮기는 방법도 있을까요? 있으면 좀 알려주세요 하루째 해매고 있습니다 ㅋ
캡쳐하는 소스를 기존 보드 폴더로 옮기는 방법도 있을까요? 있으면 좀 알려주세요 하루째 해매고 있습니다 ㅋ
감사합니다.
좋은기능이네요.
설치해서 확인해보겠습니다.
설치해서 확인해보겠습니다.