이제 메인이미지(플래시/동영상)도 DB화(게시판활용) 정보
최신글 이제 메인이미지(플래시/동영상)도 DB화(게시판활용)관련링크
http://thekum.com/?doc=gs/gs.php
613회 연결
첨부파일
본문
zzzz님의 배너게시판을 응용했습니다.
잘 모르시는 분은 그냥 다운받으신 후,
넣고 싶으신 곳에 다음과 같이 넣으시면 됩니다.
최신것만
<?=latest('gold_main',main, 1, 80);?>
main이란 게시판내 어떤이미지든 랜덤하게 나오기 (아시죠? ㅡ.ㅡ;)
<?=r_latest('gold_main',main, 1, 80);?>
동영상 플래시출력
<?=latest3('gold_main',main, 1, 80);?>
물론 인덱스의 메인페이지로 사용하실 게시판을 만드셔야겠죠.(게시판은 갤러리용,이미지용 게시판이면 더욱 좋겠습니다.)
메인페이지의 이미지가 gif나 플래시라면 움직이기도 하겠죠.
전 무작위로 추출되는 최신글을 응용해서 적용했더니 리플레시 될때마다 새로운 이미지가 나오니까
새롭더라구요.
자! 여러분도 저와 같이 해보시죠.
작업의 양이 수월해집니다.
먼저, 랜덤하게 이미지 추출하기는 아래의 코드를 ./lib/latest.lib.php 에 추가 시킵니다.
////////////////////////////////////여기가 추가된 부분
//랜덤게시물 추출 방법
function r_latest($skin_dir='', $bo_table, $rows=10, $len=40)
{
global $latest_skin, $cfg;
$tmp_latest_skin = $latest_skin;
// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./$cfg[bbs_dir]/skin/latest/$skin_dir";
}
$sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
$bo = sql_fetch($sql);
$bo_subject = $bo[bo_subject];
$sql = " select * from {$cfg[write_table_prefix]}{$bo_table} where wr_comment = 0 order by rand() limit 0, $rows ";
$result = sql_query($sql);
for ($i=0; $row = mysql_fetch_array($result); $i++) {
$list[$i] = $row;
$list[$i][href] = "./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";
// 코멘트 카운트
$list[$i][commentcnt] = "";
if ($row[wr_commentcnt] > 0) {
$list[$i][commentcnt] = "($row[wr_commentcnt])";
}
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage]);
$list[$i][subject] = conv_subject($row[wr_subject], $len,"…");
$list[$i][content] = get_text($row[wr_content]);
$list[$i][date] = substr($row[wr_datetime],2,8);
$list[$i][icon_new] = "";
if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
$list[$i][icon_new] = "<img src='$latest_skin/icon_new.gif' align=absmiddle> ";
}
for ($k=1; $k<=$cfg[file_count]; $k++) {
if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
$list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];
}
}
for ($k=1; $k<=$cfg[link_count]; $k++) {
if ($row["wr_link".$k]) {
$link[$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
$link[$i]["link_href".$k] = "./?doc=$cfg[bbs_dir]/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
}
}
}
mysql_free_result($result);
include "$latest_skin/latest.skin.php";
$latest_skin = $tmp_latest_skin;
}
그리고, 동영상, 플래시 추출하기는 아래의 코드를 ./lib/latest.lib.php 에 추가 시킵니다.
////////////////////////////////////////////////////////////////////////////////////////
//최신글에서 메인 플래시 + 동영상 + 이미지 구현
function latest3($skin_dir='', $bo_table, $rows=10, $len=40)
{
global $latest_skin, $cfg;
$tmp_latest_skin = $latest_skin;
// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./$cfg[bbs_dir]/skin/latest/$skin_dir";
}
$sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
$bo = sql_fetch($sql);
$bo_subject = $bo[bo_subject];
$sql = " select a.*, mb_open
from {$cfg[write_table_prefix]}{$bo_table} a
left join $cfg[table_member] b on (b.mb_id = a.mb_id)
where a.wr_comment = 0
order by a.wr_num, a.wr_datetime desc limit 0, $rows ";
$result = sql_query($sql);
for ($i=0; $row = mysql_fetch_array($result); $i++) {
$list[$i] = $row;
$list[$i][href] = "./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";
// 코멘트 카운트
$list[$i][commentcnt] = "";
if ($row[wr_commentcnt] > 0) {
$list[$i][commentcnt] = "($row[wr_commentcnt])";
}
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage], $row[mb_open]);
$list[$i][subject] = conv_subject($row[wr_subject], $len,"…");
//$list[$i][content] = get_text($row[wr_content]);
$len=250;//글내용 글자수 조정
$wr_content = get_text(cut_str($row[wr_content], $len, '.......'));
$list[$i][content] = conv_content($wr_content, $html);
$list[$i][date] = substr($row[wr_datetime],2,8);
$list[$i][icon_new] = "";
if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
$list[$i][icon_new] = "<img src='$latest_skin/icon_new.gif' align=absmiddle> ";
}
for ($k=1; $k<=$cfg[file_count]; $k++) {
if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
$list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];
}
}
// add
for ($k=1; $k<=$cfg[file_count]; $k++) {
$list[$i]["file".$k]= "./data/file/$bo_table/" . $row["wr_file".$k];
if($list[$i]["file".$k]){
if (@preg_match($cfg[image_extension], $list[$i][file1])){//이미지
$list[$i][file1_v]= "<img src='./data/file/$bo_table/$row[wr_file1]' width='755' height='400' align='center' style='border:1 solid #222222'>";}
else if (@preg_match($cfg[flash_extension], $list[$i][file1])){//플래시
$list[$i][file1_v]= "<embed src='./data/file/$bo_table/$row[wr_file1]' width='755' height='400' align='center' style='border:1 solid #222222' type='application/x-shockwave-flash' play='false'></embed>";}
else if (@preg_match($cfg[movie_extension], $list[$i][file1])){// 동영상
$list[$i][file1_v]= "<embed src='./data/file/$bo_table/$row[wr_file1]' width='755' height='400' align='center' volume='0' mute='true' ClickToPlay='true' AutoStart='true' ShowControls='false' style='border:1 solid #222222'></embed>";}
}
if (!@preg_match($cfg[image_extension],$list[$i][file1])|| !@preg_match($cfg[flash_extension], $list[$i][file1])|| !@preg_match($cfg[movie_extension], $list[$i][file1])) {
$file1_v = "<img src='$board_skin/noimage2.jpg' width='755' height='400' align='center' style='border:1 solid #222222' >";}
}
for ($k=1; $k<=$cfg[link_count]; $k++) {
if ($row["wr_link".$k]) {
$link[$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
$link[$i]["link_href".$k] = "./?doc=$cfg[bbs_dir]/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
}
}
}
mysql_free_result($result);
include "$latest_skin/latest.skin.php";
$latest_skin = $tmp_latest_skin;
}
링크#1에서 적용예를 보실 수 있습니다.
전 앞으로 여러분들과 이 메인이미지 부분의 이미지 같이 사용할 생각입니다.
그누 여러분과 서로 홍보용이지요...(너무 클경우 크기를 줄일 생각도 가지고 있습니다만...)
배너게시판을 응용한 것이니 링크가 걸려서 원하는 곳으로 게스트를 보낼 수도 있겠죠.
그럼.
잘 모르시는 분은 그냥 다운받으신 후,
넣고 싶으신 곳에 다음과 같이 넣으시면 됩니다.
최신것만
<?=latest('gold_main',main, 1, 80);?>
main이란 게시판내 어떤이미지든 랜덤하게 나오기 (아시죠? ㅡ.ㅡ;)
<?=r_latest('gold_main',main, 1, 80);?>
동영상 플래시출력
<?=latest3('gold_main',main, 1, 80);?>
물론 인덱스의 메인페이지로 사용하실 게시판을 만드셔야겠죠.(게시판은 갤러리용,이미지용 게시판이면 더욱 좋겠습니다.)
메인페이지의 이미지가 gif나 플래시라면 움직이기도 하겠죠.
전 무작위로 추출되는 최신글을 응용해서 적용했더니 리플레시 될때마다 새로운 이미지가 나오니까
새롭더라구요.
자! 여러분도 저와 같이 해보시죠.
작업의 양이 수월해집니다.
먼저, 랜덤하게 이미지 추출하기는 아래의 코드를 ./lib/latest.lib.php 에 추가 시킵니다.
////////////////////////////////////여기가 추가된 부분
//랜덤게시물 추출 방법
function r_latest($skin_dir='', $bo_table, $rows=10, $len=40)
{
global $latest_skin, $cfg;
$tmp_latest_skin = $latest_skin;
// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./$cfg[bbs_dir]/skin/latest/$skin_dir";
}
$sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
$bo = sql_fetch($sql);
$bo_subject = $bo[bo_subject];
$sql = " select * from {$cfg[write_table_prefix]}{$bo_table} where wr_comment = 0 order by rand() limit 0, $rows ";
$result = sql_query($sql);
for ($i=0; $row = mysql_fetch_array($result); $i++) {
$list[$i] = $row;
$list[$i][href] = "./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";
// 코멘트 카운트
$list[$i][commentcnt] = "";
if ($row[wr_commentcnt] > 0) {
$list[$i][commentcnt] = "($row[wr_commentcnt])";
}
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage]);
$list[$i][subject] = conv_subject($row[wr_subject], $len,"…");
$list[$i][content] = get_text($row[wr_content]);
$list[$i][date] = substr($row[wr_datetime],2,8);
$list[$i][icon_new] = "";
if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
$list[$i][icon_new] = "<img src='$latest_skin/icon_new.gif' align=absmiddle> ";
}
for ($k=1; $k<=$cfg[file_count]; $k++) {
if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
$list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];
}
}
for ($k=1; $k<=$cfg[link_count]; $k++) {
if ($row["wr_link".$k]) {
$link[$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
$link[$i]["link_href".$k] = "./?doc=$cfg[bbs_dir]/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
}
}
}
mysql_free_result($result);
include "$latest_skin/latest.skin.php";
$latest_skin = $tmp_latest_skin;
}
그리고, 동영상, 플래시 추출하기는 아래의 코드를 ./lib/latest.lib.php 에 추가 시킵니다.
////////////////////////////////////////////////////////////////////////////////////////
//최신글에서 메인 플래시 + 동영상 + 이미지 구현
function latest3($skin_dir='', $bo_table, $rows=10, $len=40)
{
global $latest_skin, $cfg;
$tmp_latest_skin = $latest_skin;
// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./$cfg[bbs_dir]/skin/latest/$skin_dir";
}
$sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
$bo = sql_fetch($sql);
$bo_subject = $bo[bo_subject];
$sql = " select a.*, mb_open
from {$cfg[write_table_prefix]}{$bo_table} a
left join $cfg[table_member] b on (b.mb_id = a.mb_id)
where a.wr_comment = 0
order by a.wr_num, a.wr_datetime desc limit 0, $rows ";
$result = sql_query($sql);
for ($i=0; $row = mysql_fetch_array($result); $i++) {
$list[$i] = $row;
$list[$i][href] = "./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";
// 코멘트 카운트
$list[$i][commentcnt] = "";
if ($row[wr_commentcnt] > 0) {
$list[$i][commentcnt] = "($row[wr_commentcnt])";
}
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage], $row[mb_open]);
$list[$i][subject] = conv_subject($row[wr_subject], $len,"…");
//$list[$i][content] = get_text($row[wr_content]);
$len=250;//글내용 글자수 조정
$wr_content = get_text(cut_str($row[wr_content], $len, '.......'));
$list[$i][content] = conv_content($wr_content, $html);
$list[$i][date] = substr($row[wr_datetime],2,8);
$list[$i][icon_new] = "";
if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
$list[$i][icon_new] = "<img src='$latest_skin/icon_new.gif' align=absmiddle> ";
}
for ($k=1; $k<=$cfg[file_count]; $k++) {
if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
$list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];
}
}
// add
for ($k=1; $k<=$cfg[file_count]; $k++) {
$list[$i]["file".$k]= "./data/file/$bo_table/" . $row["wr_file".$k];
if($list[$i]["file".$k]){
if (@preg_match($cfg[image_extension], $list[$i][file1])){//이미지
$list[$i][file1_v]= "<img src='./data/file/$bo_table/$row[wr_file1]' width='755' height='400' align='center' style='border:1 solid #222222'>";}
else if (@preg_match($cfg[flash_extension], $list[$i][file1])){//플래시
$list[$i][file1_v]= "<embed src='./data/file/$bo_table/$row[wr_file1]' width='755' height='400' align='center' style='border:1 solid #222222' type='application/x-shockwave-flash' play='false'></embed>";}
else if (@preg_match($cfg[movie_extension], $list[$i][file1])){// 동영상
$list[$i][file1_v]= "<embed src='./data/file/$bo_table/$row[wr_file1]' width='755' height='400' align='center' volume='0' mute='true' ClickToPlay='true' AutoStart='true' ShowControls='false' style='border:1 solid #222222'></embed>";}
}
if (!@preg_match($cfg[image_extension],$list[$i][file1])|| !@preg_match($cfg[flash_extension], $list[$i][file1])|| !@preg_match($cfg[movie_extension], $list[$i][file1])) {
$file1_v = "<img src='$board_skin/noimage2.jpg' width='755' height='400' align='center' style='border:1 solid #222222' >";}
}
for ($k=1; $k<=$cfg[link_count]; $k++) {
if ($row["wr_link".$k]) {
$link[$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
$link[$i]["link_href".$k] = "./?doc=$cfg[bbs_dir]/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
}
}
}
mysql_free_result($result);
include "$latest_skin/latest.skin.php";
$latest_skin = $tmp_latest_skin;
}
링크#1에서 적용예를 보실 수 있습니다.
전 앞으로 여러분들과 이 메인이미지 부분의 이미지 같이 사용할 생각입니다.
그누 여러분과 서로 홍보용이지요...(너무 클경우 크기를 줄일 생각도 가지고 있습니다만...)
배너게시판을 응용한 것이니 링크가 걸려서 원하는 곳으로 게스트를 보낼 수도 있겠죠.
그럼.
추천
4
4
댓글 전체
이런 기발한 아이디어를..
해 보고 싶던 건데 감사합니다.
고아이디님 감사합니다. ^^^;;
참고로 위의 플래시, 동영상 보이게 하는 코드는 만도님 것을 적용하였습니다.
지금 부랴 부랴 막 수정 했습니다.
플래시 적용된 것을 보시려면 http://thekum.com/index.php?doc=gs/gs.php 여기로...
기타 안되는 부분 있으면 말씀해 주세요.
플래시 적용된 것을 보시려면 http://thekum.com/index.php?doc=gs/gs.php 여기로...
기타 안되는 부분 있으면 말씀해 주세요.
현재는 안됩니다.
곧 플래시 까지 될 수 있게 노력하겠습니다.
곧 플래시 까지 될 수 있게 노력하겠습니다.
GoID님 플래쉬는 안되는 듯 합니다.
답변 감사합니다. 좋은 프로그램 만들어 주셔서 감사하구요. 행복한 하루 되세요.
참그리고 들어갈 곳이 main.php 상단에 include "./lib/latest.lib.php";
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "DESIGN");
$html_title = "타이틀";
include "./$cfg[bbs_dir]/gblayer.php";
include "./lib/latest.lib.php"; ///////////// 이부분을 꼭 넣어주세요..
?>
head.php에서 인클루드하므로 괜찮을줄 알았는데...
그렇지 않더라구욧.
늦게 답변을 드려 죄송합니다.^^
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "DESIGN");
$html_title = "타이틀";
include "./$cfg[bbs_dir]/gblayer.php";
include "./lib/latest.lib.php"; ///////////// 이부분을 꼭 넣어주세요..
?>
head.php에서 인클루드하므로 괜찮을줄 알았는데...
그렇지 않더라구욧.
늦게 답변을 드려 죄송합니다.^^
1.다운받으신 것을 압축푸셔서
2.계정의 스킨의 latest안에 넣어주시구...
3.원하는 메인페이지에
<?=latest('gold_main',main, 1, 80);?> 을 넣어주시면 되는 것입니다.
<?=latest('최신글스킨폴더명',게시판명, 출력할개수, 상관없음);?>
2.계정의 스킨의 latest안에 넣어주시구...
3.원하는 메인페이지에
<?=latest('gold_main',main, 1, 80);?> 을 넣어주시면 되는 것입니다.
<?=latest('최신글스킨폴더명',게시판명, 출력할개수, 상관없음);?>
Warning: main(./bbs/skin/board/main/gblist.skin.php): failed to open stream: No such file or directory in C:\Apache Group\Apache2\htdocs\gnu\bbs\gblist.php on line 228
Warning: main(): Failed opening './bbs/skin/board/main/gblist.skin.php' for inclusion (include_path='.') in C:\Apache Group\Apache2\htdocs\gnu\bbs\gblist.php on line 228
과 같은 에러가 뜨네요. 어디에 넣고 사용하는 거죠. 꼭 사용해 보고 싶은데...차근히 방법좀 알려 주세요. 그누보드 하루하고 좀 지났습니다.
Warning: main(): Failed opening './bbs/skin/board/main/gblist.skin.php' for inclusion (include_path='.') in C:\Apache Group\Apache2\htdocs\gnu\bbs\gblist.php on line 228
과 같은 에러가 뜨네요. 어디에 넣고 사용하는 거죠. 꼭 사용해 보고 싶은데...차근히 방법좀 알려 주세요. 그누보드 하루하고 좀 지났습니다.
전 이것을 이미지뿐아니라 플래시와 동영상까지 되게끔 할 생각입니다.
혹 여러분 중에 저보다 먼저 구현하시는 분 있으면 올려주세요. 저두 구현되면 다시 올리도록 하겠습니다.
혹 여러분 중에 저보다 먼저 구현하시는 분 있으면 올려주세요. 저두 구현되면 다시 올리도록 하겠습니다.
엇. 그것은요 이렇게 합니다. 다음을 보세요.
http://sir.co.kr/index.php?doc=bbs/gnuboard.php&bo_table=tiptech&page=4&wr_id=1555
읽어보시면 아시게 될것입니다.
http://sir.co.kr/index.php?doc=bbs/gnuboard.php&bo_table=tiptech&page=4&wr_id=1555
읽어보시면 아시게 될것입니다.
원리는 알겠는데요 참 대단한 생각인거 같은데요.
무작위로 보이게 하는것은 어떻게 하지요?
무작위로 보이게 하는것은 어떻게 하지요?
랜덤가져오기