[英]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="#"><< Prev </a> || <a href="#"> Next >></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.