簡體   English   中英

PHP圖像庫數組

[英]PHP Image gallery array

有人要求我創建一個PHP圖像庫,該圖像庫將從目錄中讀取圖像,然后為該庫創建縮略圖。 有一個帶縮略圖的目錄,一個有全尺寸圖像的目錄。

我從/ thumb /目錄中讀取了文件名,並將每個文件名作為值插入到thumbArray中。 從那里我回<img src="<?php echo $thumbArray[$i]; ?>" />縮略圖src中的值( <img src="<?php echo $thumbArray[$i]; ?>" /> ),其中$ i只是一個計數器。 因此,縮略圖是從數組生成的,但是當您單擊縮略圖時,它將查詢?filename到url中。 然后,使用$ _SERVER ['QUERY_STRING']讀取查詢字符串,並將查詢(文件名)插入大型<img src"<?php echo $_SERVER['QUERY_STRING']; ?>" /> 雖然那是有限的。 由於我現在無法讀取數組,因此無法將其作為參考點,也無法再指向數組的前向或后向。

我現在更有意義嗎?

請幫忙...

    <?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);
    ?>

如果我理解正確,則只需要從$ thumbArray [$ i]數組中選擇下一個和上一個值。

例如。

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

當然,對於第一個和最后一個,您必須格外小心。 (並檢查元素的存在)


編輯:好的,我明白了。

重新排列您的代碼。 您必須在每個頁面上閱讀目錄。 因此,為什么不將其放在代碼的頂部讀入數組,並循環遍歷該數組以構建縮略圖列表。

對於上一個/下一個按鈕,您現在可以使用已構建數組中的索引來查找上一個/下一個圖像的文件名。

我讓自己理解了嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM