2010-09-28 50 views
0

我在單個頁面中有超過10個部分/文章,每個部分顯示3個拇指。掃描多個圖像文件夾的問題

3個大拇指>連接> 1個Images_Main

Images_Main = thumb1,的Thumb2,thumb3

結構:

Images 
    |_______ 1stSection 
       |__________ Images_Main 
           |__________ img1 
           |__________ img2 
           |__________ img3 


       |___________ Thumb 
           |__________ img1 
           |__________ img2 
           |__________ img3 

所以,我寫了這個小碼,這是工作的罰款第一部分,但不工作。它不顯示正確的大拇指& /或Images_Main的其餘部分。

它使顯示從第一個文件夾圖片,沒關係,如果我改變:$smallSecond_dir = 'images/small225x341/ ** 2nd/3rd/4thTheme/ **';

獲取Images_Main:

  <h5> 
     <?php 
     $smallSecond_dir = 'images/small225x341/2ndTheme/'; 
     $scan = scandir($smallSecond_dir); 
     echo '<img src="' . $small225x341_dir . $scan[2] . '" alt="image" />'; 

     ?> 
     </h5> 

獲取大拇指:

<ul class="thumbs"> 
      <?php 

      $thumbs75x75_dir = 'images/thumbs75x75/2ndTheme/'; 
      $scan = scandir($thumbs75x75_dir); 

      for ($i = 0; $i<count($scan); $i++) { 

      if ($scan[$i] != '.' && $scan[$i] != '..') { 
      if (strpos($scan[$i], '.jpg') !== false) { 
      echo ' 
      <li> 
      <a href="' . $smallSecond_dir . $scan[$i] . '"> 
      <img src="' . $dir . $scan[$i] . '" alt="' . $scan[$i] . '" /> 
      </a> 
      </li>'; 
      } 
      } 
      }; 
      ?> 
      </ul> 

我怎樣才能掃描每個章節文件夾並顯示右側的大拇指和右側Images_Main?

感謝

+1

首先,你在你的echo語句中使用了一個變量,你沒有在這裏初始化。你的意思是$ smallSecond_dir?另外,我不完全確定你爲什麼需要scandir,並且不能僅僅指定你的目錄結構,因爲你知道你有多少圖像。 – Andrew 2010-09-28 18:49:28

+1

http://ca.php.net/glob – Incognito 2010-09-28 18:50:58

+0

正如旁註:跳過「嗨」和「謝謝」,沒有必要。在這裏,你說感謝與upvote。關於這個問題,代碼應該怎麼做,一行一行?會發生什麼呢? – Saul 2010-09-28 18:52:04

回答

1

很久以前我寫了一些需要這個代碼...也許會幫助你

$subgalery = array(); 
function read_dir($dir){ 
    global $subgalery;  
     if(file_exists($dir)){ 
     $opened = opendir($dir); 
     while (($file = readdir($opened)) !== false){ 
      if($file !== '.' && $file !== '..' && (is_dir($dir."/".$file))){ 
       $subgalery[$dir."/".$file] = $file; 
       read_dir($dir."/".$file); 
      } 
     } 
     closedir($opened); 
} 

回報文件夾中的所有forlders的陣列

你可以把它沒有全局,只要把它放在array_merge裏面,然後返回...它是舊代碼