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

폴더안에 이미지 하나만 나오게할련면 채택완료

zkdlf 8년 전 조회 11,750

제가 게시판으로 사진올리기 해서 사진을 올리면

 

date/file/폴더/

안에 전 하나만 올렸는데 용량이 재각각인 사진이 4장이나 나오네요

사진은 다 똑같고 원본 썸네일 뭐 이런거 등등인거같은데

 

이것 때문에 이미지 미리보기 에도 같은 이미지가 4장이 다 나오네요...

 

혹시 폴더에 사진 1장 원본 삭제 하던 썸네일로 된 것만 보이게할려면 어디를 수정해야하나요? 

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

답변 1개

채택된 답변
+20 포인트
8년 전

foreach (glob('data/file/폴더/*') as $v)

    if (strpos($v, 'thumb-') !== false) $files[] = $v;

 

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

답변에 대한 댓글 8개

z
zkdlf
8년 전
밑에처럼 했는데 사진이 안나오는데요^^;;


<?
$path="./board/data/file/1111";
$entrys = array();
$dirs = dir($path);
while(false !== ($entry = $dirs->read())){
if(($entry != '.') && ($entry != '..')) {
if(!is_dir($path.'/'.$entry)) {
$entrys[] = $entry;
}
}
}
$dirs->close();
?>

<!-- Add Arrows -->
<div class="swiper-button-next swiper-button-white"></div>
<div class="swiper-button-prev swiper-button-white"></div>
<div class="swiper-container gallery-thumbs">
<div class="swiper-wrapper">
<?
asort($entrys);
foreach (glob('data/file/1111/*') as $v)
if (strpos($v, 'thumb-') !== false) $files[] = $v;
foreach( $entrys as $img ) {
?>

<div class="swiper-slide" style="background-image:url(./board/data/file/1111/<?=$img?>);"></div>
<?
}
?>
</div>
</div>

<!--trendbook slide 끝 -->

<!-- Swiper JS -->
<script src="../JS/swiper.js" type="text/javascript"></script>
<script src="../JS/swiper.min.js" type="text/javascript"></script>

<!-- Initialize Swiper -->
<script>



var galleryThumbs = new Swiper('.gallery-thumbs', {
spaceBetween: 5,
slidesPerView: 5,
touchRatio: 0.2,
loop:true,
loopedSlides: 5, //looped slides should be the same
slideToClickedSlide: true
});
galleryTop.params.control = galleryThumbs;


</script>
z
zkdlf
8년 전
이렇게 수정해봤는데도 사진은 나오는데 파일에 있는 사진 장수만큼 똑같이 다 노출되네요,...
폴더에 이미지를 줄일수있는방법은 없나요?

<?
asort($entrys);
foreach (glob('data/file/trendbook/*') as $img)
if (strpos($img, 'thumb-') !== false) $files[] = $img;
foreach( $entrys as $img ) {
?>
<div class="swiper-slide" style="background-image:url(./board/data/file/trendbook/<?=$img?>);"></div>
<?
}
?>
슈와이
8년 전
<div class="swiper-wrapper">
<?
foreach (glob('data/file/1111/*') as $v)
if (strpos($v, 'thumb-') !== false)
echo "<div class=\"swiper-slide\" style=\"background-image:url($v);\"></div>";
?>
</div>
z
zkdlf
8년 전
두방법을 다해봤는데 이미지가 아에 나오지가않아요

<div class="swiper-wrapper">
<?
foreach (glob('data/file/1111/*') as $v)
if (strpos($v, 'thumb-') !== false)
echo "<div class=\"swiper-slide\" style=\"background-image:url($v);\"></div>";
?>
</div>

이렇게도해보고

<div class="swiper-wrapper">
<?
foreach (glob('data/file/1111/*') as $img)
if (strpos($img, 'thumb-') !== false)
echo "<div class=\"swiper-slide\" style=\"background-image:url($img);\"></div>";
?>
</div>
슈와이
8년 전
// 파일명이 나오나 확인해보세요
$dir = 'data/file/1111/';
echo 'all file<br>';
foreach (glob($dir . '*') as $v) echo $v . '<br>';
echo '<br><br> thumb file<br>';
foreach (glob($dir . '*thumb*') as $v) echo $v . '<br>';
z
zkdlf
8년 전
이렇게 하닌까 화면에 all file 다음 칸에 thumb file 이글이 떠요
<?
$path="./board/data/file/1111";
$entrys = array();
$dirs = dir($path);
while(false !== ($entry = $dirs->read())){
if(($entry != '.') && ($entry != '..')) {
if(!is_dir($path.'/'.$entry)) {
$entrys[] = $entry;
}
}
}
$dirs->close();
?>


<!-- Add Arrows -->
<div class="swiper-button-next swiper-button-white"></div>
<div class="swiper-button-prev swiper-button-white"></div>
<div class="swiper-container gallery-thumbs">
<div class="swiper-wrapper">
<?
$dir = 'data/file/1111/';
echo 'all file<br>';
foreach (glob($dir . '*') as $v) echo $v . '<br>';
echo '<br><br> thumb file<br>';
foreach (glob($dir . '*thumb*') as $v) echo $v . '<br>';
?>
<div class="swiper-slide" style="background-image:url(./board/data/file/1111/<?=$v?>);"></div>

</div>
</div>
슈와이
8년 전
// 디렉토리 확인
$dir = 'data/file/게시판/'; // 파일저장위치는 본인에 맞게 수정하세요
if (!is_dir($dir)) {
echo "<script>alert('dir is not exist')</script>";
exit;
}

// 방법 1
$pattern = 'thumb-'; // 파일명에 있는 thumb
//$pattern = '600x450'; // 파일명에 있는 해상도
$files = glob($dir . "*$pattern*");
if (!count($files)) echo "<script>alert('glob thumb is not exist')</script>";;
foreach ($files as $v)
echo "<div class=\"swiper-slide\" style=\"background-image:url('$v')\"></div>";

// 방법 2
$dirs = dir($dir);
while (false !== ($v = $dirs->read())){
if ($v != '.' && $v != '..') {
if (!is_dir($dir . $v)) {
if (strpos($v, $pattern) !== false) {
echo "<div class=\"swiper-slide\" style=\"background-image:url('$dir$v')\"></div>";
}
}
}
}
$dirs->close();
z
zkdlf
8년 전
잘 이해가안가네요^^;;;

이렇게 적용했는데 dir is not exist만 뜨고 아무것도 안나오네요

<?
$dir = 'data/file/1111/'; // 파일저장위치는 본인에 맞게 수정하세요
if (!is_dir($dir)) {
echo "<script>alert('dir is not exist')</script>";
exit;
}

?>
<?

$dirs = dir($dir);
while (false !== ($v = $dirs->read())){
if ($v != '.' && $v != '..') {
if (!is_dir($dir . $v)) {
if (strpos($v, $pattern) !== false) {
echo "<div class=\"swiper-slide\" style=\"background-image:url('$dir$v')\"></div>";
}
}
}
}
$dirs->close();
?>
밑에 내용 없이 가능한건가요?
<?
$path="./board/data/file/1111";
$entrys = array();
$dirs = dir($path);
while(false !== ($entry = $dirs->read())){
if(($entry != '.') && ($entry != '..')) {
if(!is_dir($path.'/'.$entry)) {
$entrys[] = $entry;
}
}
}
$dirs->close();
?>

<!-- Add Arrows -->
<div class="swiper-button-next swiper-button-white"></div>
<div class="swiper-button-prev swiper-button-white"></div>
<div class="swiper-container gallery-thumbs">
<div class="swiper-wrapper">
<?
asort($entrys);
foreach (glob('data/file/1111/*') as $img)
if (strpos($img, 'thumb-') !== false) $files[] = $img;
foreach( $entrys as $img ) {
?>
<div class="swiper-slide" style="background-image:url(./board/data/file/1111/<?=$img?>);"></div>
<?
}
?>
</div>
</div>

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

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

로그인