PHP Resim galerisi dizi

1 Cevap php

Birisi bir dizin dışında görüntüleri okumak ve sonra galeri için küçük yaratacak bir PHP resim galerisi oluşturduk istedi. Thumnails ile bir dizin ve fullsize görüntüleri ile bir dizin var.

Ben / thumb / dizininin dışında dosya adlarını okumak ve thumbArray içine bir değer olarak her dosyanın adını girin. Oradan (<img src="<?php echo $thumbArray[$i]; ?>" />) $ i sadece bir sayaç olduğu küçük src değerlerini yankı. Yani küçük resim dizisinden üretilen ancak küçük resme tıkladığınızda, bu url içine? Dosya sorgular vardır. $ _SERVER ['QUERY_STRING'] kullanılarak Sonra okudum içine sorgu dizesi ve sorgu takın, (dosya), söz konusu büyük <img src"<?php echo $_SERVER['QUERY_STRING']; ?>" />. Bu olsa sınırlıdır. Ben şimdi bir referans noktası olarak diziyi, okuyamıyor ve artık dizideki ileri veya geri gelin gibi.

Ben şimdi daha anlam verme muyum?

Lütfen yardım edin ...

    <?php 
    $i = 0;

    /* Large file name and thumbnail file name must match */
    /* Large image size = 480px x 300px */
    echo '<img class="frameImg" src="images/large/'.$_SERVER['QUERY_STRING'].'" />';

    ?>
    <p id="prevNext"><a href="#">&lt;&lt; Prev </a> || <a href="#"> Next &gt;&gt;</a></p>
  </div>
  <div id="thumbs">
    <ul>
     <?php
    /* Must change $dir to the full path of directory all the way from root /home/user/domain/images/thumb */
    $dir = "*************************";
    $dh = opendir($dir);

    /* Thumbnail file name and large file name must match */
    $thumbArray = array();
    while (($file = readdir($dh)) !== false) {
        if ($file != "." && $file != "..") {
            $thumbArray[$i]=$file;
            echo '<li id="'.$i.'"><a href="?'.$thumbArray[$i].'"><img src="images/thumb/'.$thumbArray[$i].'" alt="Alt for '.$thumbArray[$i].'" /></a></li>';
            $i++;
        }
    }
    closedir($dh);
    ?>

1 Cevap

i doğru anlamak eğer sadece $ thumbArray [$ i] Dizi dan sonraki ve önceki değerlerini seçmek gerekir.

örn.

$prevThumb = $thumbArray[($i-1)];
$nextThumb = $thumbArray[($i+1)];

Tabii ilk ve son için ekstra dikkat etmelisiniz. (Ve elemanın halen mevcut olan kontrol)


EDIT: ok i understand.

Kodunuzu rearange. Her sayfada dizini okumak zorunda. öyleyse neden bir diziye kod üstündeki okumak ve resim listesini oluşturmak için bu dizi aracılığıyla döngü değil.

önceki / sonraki düğmeleri için artık zaten önceki / sonraki görüntü için dosya adını bulmak için bir dizi inşa gelen dizin kullanabilirsiniz.

kendimi understandble yaptın?