테스트 사이트 - 개발 중인 베타 버전입니다

글 번호로 그 글의 대표 이미지 return 하는 함수 채택완료

울라프 2년 전 조회 1,298

글 번호로 그 글의 대표 이미지 return 하는 함수

 

혹시 다른 분이 만들어 놓은게 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트

나중에 쓸것 같아서 짜봤네요

 

그리고 대표 이미지는 이미지를 지정을 해야 하는데, 게시글 뷰 부분에서 이미지를 클릭하고 대표이미지 설정하는 스킨을 따로 만들어야 될것 같네요. 아니면 첨부파일에 체크하는 기능을 만들어도 되구요

 

 

</p>

<p><?php

function get_article_images($bo_table, $wr_id, $sort=SORT_DESC)

{

    global $g5;</p>

<p>    $aticle_files = get_file($bo_table, $wr_id);</p>

<p>    $times = array();

    $result_files = array();</p>

<p>    // 첨부파일 구하기

    for($i=0; $i<(int)$aticle_files['count']; $i++)

    {

        $tmp_fileinfo = array();</p>

<p>        $tmp_fileinfo['url'] = $tmp_filepath = $aticle_files[$i]['path']  . '/' . $aticle_files[$i]['file'];

        $parse_url = parse_url($tmp_filepath);

        $tmp_fileinfo['path'] = $_SERVER['DOCUMENT_ROOT'] . $parse_url['path'];</p>

<p>        array_push($result_files, $tmp_fileinfo);

        $times[] = filemtime($tmp_fileinfo['path']);

    }</p>

<p>    // 게시물 파일 구하기

    $row = sql_fetch(" select wr_content from {$g5['write_prefix']}{$bo_table} where wr_id = '{$wr_id}' ");

    preg_match_all("/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i", $row['wr_content'], $matchs);</p>

<p>    for($i=0; $i<count($matchs[1]); $i++)

    {

        $tmp_fileinfo = array();</p>

<p>        $tmp_fileinfo['url'] = $matchs[1][$i];

        $parse_url = parse_url($matchs[1][$i]);

        $tmp_fileinfo['path'] = $_SERVER['DOCUMENT_ROOT'] . $parse_url['path'];</p>

<p>        array_push($result_files, $tmp_fileinfo);

        $times[] = filemtime($tmp_fileinfo['path']);

    }</p>

<p>    // 등록된 시간으로 정렬

    array_multisort($times, $sort, $result_files);</p>

<p>    return $result_files;

}</p>

<p>// 가장 나중에 등록된 이미지 구하기

$files = get_article_images($bo_table, $wr_id, SORT_DESC);

echo "<xmp>";

print_r($files);

echo "</xmp>";

?></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

그누순정의 경우 curl 로 긁어서 bo_v_atc 안에 있는 첫번째 이미지를 가져오면 되지 않을까요?

 

http://www.mediaplayer.kr/main/utility/2 의 경우는 아래처럼요.

 

</p>

<p><?php

$url = "<a href="http://www.mediaplayer.kr/main/utility/2";" target="_blank" rel="noopener noreferrer">http://www.mediaplayer.kr/main/utility/2";</a>

$ch = curl_init();

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_URL, $url);

$face_image = explode('"', explode('<img src="', explode('<section id="bo_v_atc">', curl_exec($ch))[1])[1])[0];

curl_close($ch);

?></p>

<p><img src="<?php echo $face_image; ?>"></p>

<p>

 

함수 처리한다면...

 

</p>

<p><?php

function face_img($img) {

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($ch, CURLOPT_URL, $img);

    $face_image = explode('"', explode('<img src="', explode('<section id="bo_v_atc">', curl_exec($ch))[1])[1])[0];

    curl_close($ch);

    echo '<img src="'.$face_image.'">';

}

face_img("<a href="http://www.mediaplayer.kr/main/utility/2");" target="_blank" rel="noopener noreferrer">http://www.mediaplayer.kr/main/utility/2");</a>

face_img("<a href="http://gnuworld.kr/wittazzurri_media/25");" target="_blank" rel="noopener noreferrer">http://gnuworld.kr/wittazzurri_media/25");</a>

?></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

2년 전

저도 마찬가지로 도움이 되었네요. 감사합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

그누위즈

일반 게시판 목록에서 이미지를 불러오는 기본 함수만 쓰더라도 충분히 사용가능합니다.

</p>

<p><?php

$bo_table = 'notice'; // 게시판 명

$wr_id = '1'; // 게시글 고유번호

$board = get_board_db($bo_table, true);</p>

<p> </p>

<p>// 게시판명, 게시글 고유번호, 이미지 좌우크기, 이미지 상하크기

$thumb = get_list_thumbnail($board['bo_table'], $wr_id, $board['bo_gallery_width'], $board['bo_gallery_height'], false, true);</p>

<p>if($thumb['src']) {

    $img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" >';

} else {

    $img_content = '이미지 없음';

}</p>

<p>echo run_replace('thumb_image_tag', $img_content, $thumb);

 </p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인