http://sir.kr/g5_skin/5353?sfl=wr_subject%7C%7Cwr_content&stx=faq 플디님이 올려주신 faq 게시판을 살짝 다듬어서 다시 올려봅니...
페이지를 캡쳐해서 따오는 링크 따오기™ 게시판
페이스북처럼 링크의 내용을 따오는 게시판은 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
* 테스트 게시판은 테스트 이외의 용도로는 사용하지 마십시오.
첨부파일
그누보드5 스킨
좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.
기본 그누보드 스킨에서 로그인 부부만 바꿨습니다. 압축풀면 img 폴더, style.css, login.php 파일이 있는데 사용중이신 member 스킨에 전부 덮어쓰기하셔도 되고...
http://sir.kr/g5_skin/11660 변태스타킹님의 따오기 아미나 버전입니다. 사용법은 Basic-Board 폴더에 넣어주시고 스크린샷처럼 설정 해주시면 끝~^0^; ...
화살표 드래그로 확인하는 성형전후 사진 초기 세팅 비율은 list.skin.php하단 에서 조절합니다.
고객의 싸인을 직접 웹에서 받아서 저장해 봅니다.
링크를 입력하면 해당 페이지를 그대로 캡쳐해서 썸네일로 저장해서 사용하는 게시판입니다. 페이스북처럼 링크의 내용을 따오는 게시판은 http://sir.kr/g5_skin/11660...
최신글 스킨입니다. 1줄에 3개 포스팅으로 셋팅되어 있습니다. 해서 폭이 800정도 넘어가면 좀 보기가 안스러울 수 있습니다.... ㅇ 왼쪽 위 2칸 차지하는 포스팅은 사진이 있는...
mp3 파일 자체에 담긴 정보를 읽어와 자동으로 게시물을 만들어 주는 게시판입니다. php7에는 id3_get_tagf라는 함수로 그냥 읽어 올 수 있는 것 같은데 php5에는 이...
부트스트랩 베이직 테마에 포함되어 있는 최신글을 기존 table에서 list로 변형 작업한 스킨입니다. 부트스트랩 반응형 지원을 위해 제작했습니다. 테마에도 적용할 예정입니다. 별...
본 최신 스킨은 반응형 으로서 모바일이나 PC용으로 사용가능합니다. 파일압축풀어서 latest 폴더에 넣으시면 됩니다. 기본스킨경로 테마스킨경로 기술지원 http://webagit...
댓글 28개
리스트에서 썸네일 클릭시 해당 페이지로 이동하게 해서 사용하려고 만들었습니다.
[code]
<?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;
[/code]
[code]
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$screenshotlayer_key = "key를 여기다 넣으세요";
[/code]
[code]
/*
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;
[/code]
혹시 서버 설정상 원격 파일을 불러오지 못하는 경우가 있을 수 있가 있습니다.
write_update.head.skin.php
[code]
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
[/code]
아래에
[code]
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if(file_get_contents('http://naver.com')) alert("file_get_contents 사용 가능");
else alert("file_get_contents 사용 불가");
die();
[/code]
를 넣어 테스트 해 볼 수 있을 것 같습니다.
사용가능이라고 나오는데 안되네요 ㅜㅜ 혹시 다른분은 되시는지?
왜 나만 안되는지 큭
[http://sir.kr/data/editor/1610/d8d62efc876af70900ed4ddaab6fb1b5_1475283658_1263.gif]
if(isset(${'wr_link'.$i}) && !empty(${'wr_link'.$i}) && ${'wr_link'.$i} ) {
[http://blog-imgs-44.fc2.com/w/a/r/wareureu/227.gif]
제목과 내용이 안나오는데 설정이 따로 있을까요?
캡쳐하는 소스를 기존 보드 폴더로 옮기는 방법도 있을까요? 있으면 좀 알려주세요 하루째 해매고 있습니다 ㅋ
설치해서 확인해보겠습니다.