2011-07-12 37 views
0
<?php   
    /* settings */ 
    $image_dir = 'gallery/'; 
    $per_column = 3; 
    $count=0; 
     if ($handle = opendir($image_dir)) { 
     while (false !== ($file = readdir($handle))) 
     { 
      if ($file != '.' && $file != '..') 
      { 
       if(strstr($file,'-thumb')) 
       { 
        $files[] = $file; 
       } 
      } 
     } 
     closedir($handle); 
    } 
    if(count($files)) 
    { 
     foreach($files as $file) 
     { 
      $count++; 
      echo '<a class="thumbnail" rel="one-big-group" href="',$image_dir,str_replace('-thumb','',$file),'"><img src="',$image_dir,$file,'" width="100" height="100" /></a>'; 
      if($count % $per_column == 0) { echo '<div class="clear"></div>'; } 
     } 
    } 
    else 
    { 
     echo '<p>There are no images in this gallery.</p>'; 
    } 

?> 

如何爲每個圖像添加標題? 非常感謝您的回答!如何將標題添加到此自動創建的php庫?

+0

什麼樣的標題?像你從哪裏得到每張照片的標題? – Vap0r

+0

這就是我想知道如何去做的。爲每個文件寫一個標題,並在當前腳本中使用php顯示它。這可能與數組有關嗎? –

回答

0

您的代碼遍歷文件指定的目錄內尋找在文件名含有...-thumb...文件,將它們附加到一個數組,然後在陣列上循環到用於顯示縮略圖圖像庫生成HTML。

添加額外的信息是這樣的,由於非常有限的代碼,您所提供的,可以以多種方式

  1. 你可以爲每個文件名和列 實現數據庫完成包含字幕/說明的相關列。這可能是更多的問題,比它的價值取決於你想要達到什麼。
  2. 你可以使用它你可以解析由線(而不是穿越了...-thumb...圖像0​​ 文件夾)線的平面文件,包含一些格式像

    file1-thumb.png|some caption here 
    file2-thumb.png|some caption here 
    file3-thumb.png|some caption here 
    ... 
    
  3. 你可以includ一個小的標題在文件名中,並從文件名中解析/格式化標題。這可能是最快的路線,但大多數限制字幕允許的長度/字符的靈活性。

    - file1-thumb--some_caption_here.png 
    - file2-thumb--some_caption_here.png 
    - file3-thumb--some_caption_here.png 
    

要真正字幕添加到生成的HTML,您可以使用title屬性作爲@rockerest建議,但是我個人添加這樣一個標題圖像本身,因爲這是字幕被描述(不是鏈接)

<img src="..." title="..." ... /> 

UPDATE

回答您的評論(這提供了代碼更好的格式),比方說,我們有一個名字file1-thumb--some_description_here.jpg一個文件,你可以分析和處理preg_replace

$filename = 'file1-thumb--some_description_here.jpg'; 
$caption = preg_replace(array('/^.+-thumb--/', '/\.(jpg|jpeg|gif|png|bmp)$/', '/_/'), array('','',' '), $filename); 

$caption格式化標題是現在一些描述在這裏

+0

偉大的提示隊友,我如何在標題中寫下標題?或者,如果我使用str_replace(' - thumb','',$ file),如何刪除.jpeg文本? –

+0

我會將此添加到我的答案中。 – deefour

0

當鼠標懸停在圖像上時,html title提供了「標題」。

foreach($files as $file) 
     { 
      $count++; 
      echo '<a title="',$caption,'" class="thumbnail" rel="one-big-group" href="',$image_dir,str_replace('-thumb','',$file),'"><img src="',$image_dir,$file,'" width="100" height="100" /></a>'; 
      if($count % $per_column == 0) { echo '<div class="clear"></div>'; } 
     } 
相關問題