2011-10-29 20 views
0

我想知道是否有人能夠幫助我修復這個腳本......它基本上只是調用幻燈片,如果文件是一個圖像,vimeo播放器,如果它有一個vimeo網址,如果它是一個Flash文件,則嵌入swf。PHP div重複自我

<div id='jessslide'> 
    <?php 
$photos=file("work.txt"); 
echo "<div id='slider-wrapper'>"; 
foreach($photos as $image){ 
$flag=0; 
$item=explode("|",$image); 
if($item[0]==$fields[0]){ 
$photo=trim($item[1]); 

// check for Vimeo 
if(strpos($photo, "vimeo.com") && $flag==0){ 
echo "<iframe src='$photo?title=0&amp;byline=0&amp;portrait=0' width='900' height='500'  frameborder='0' webkitAllowFullScreen allowFullScreen></iframe>"; 
$flag=1; 
} 
// check for Flash 
if(strpos($photo, ".swf") && $flag==0){ 
echo "<object id='myId' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='900'  height='500'><param name='movie' value='$photo' /> 
      <!--[if !IE]>--> 
      <object type='application/x-shockwave-flash' data='images/work/$photo' width='900' height='500'> 
      <!--<![endif]--> 
      <div> 
      <h1>Alternative content</h1> 
      <p><a href='http://www.adobe.com/go/getflashplayer'><img src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a></p> 
      </div> 
      <!--[if !IE]>--> 
      </object> 
      <!--<![endif]--> 
     </object>"; 
$flag=1; 
} 
// If it's not Vimeo or Flash, then it must be a photo 
if($flag==0){ 
echo "<div id='slider' class='nivoSlider'><img src='images/work/$photo' alt='' /></div>\n"; 
} 
} 
} 
echo "</div>"; 
?> 
    </div> 

一切工作正常,但幻燈片只顯示1圖像。當查看生成的源代碼,這就是正在顯示的幻燈片:

<div id='jessslide'> 
    <div id='slider-wrapper'><div id='slider' class='nivoSlider'><img src='images/work/sparklingsweet1.jpg' alt='' /></div> 
<div id='slider' class='nivoSlider'><img src='images/work/sparklingsweet2.jpg' alt='' /></div> 
<div id='slider' class='nivoSlider'><img src='images/work/sparklingsweet3.jpg' alt='' /></div> 
<div id='slider' class='nivoSlider'><img src='images/work/sparklingsweet4.jpg' alt='' /></div> 
<div id='slider' class='nivoSlider'><img src='images/work/sparklingsweet5.jpg' alt='' /></div> 
<div id='slider' class='nivoSlider'><img src='images/work/sparklingsweet6.jpg' alt='' /></div> 
<div id='slider' class='nivoSlider'><img src='images/work/sparklingsweet7.jpg' alt='' /></div> 
</div> 
</div> 

這是正確的工作幻燈片輸出應該是什麼樣子:

<div id='slider-wrapper'> 
<div id='slider' class='nivoSlider'> 
<img src='images/work/sparklingsweet1.jpg' alt='' /> 
<img src='images/work/sparklingsweet2.jpg' alt='' /> 
<img src='images/work/sparklingsweet3.jpg' alt='' /> 
<img src='images/work/sparklingsweet4.jpg' alt='' /> 
<img src='images/work/sparklingsweet5.jpg' alt='' /> 
<img src='images/work/sparklingsweet6.jpg' alt='' /> 
<img src='images/work/sparklingsweet7.jpg' alt='' /> 
</div> 
</div> 

所以,這似乎是一個div問題...我沒有在php中使用div做正確的事情。任何人都想成爲真棒,並幫助我與這個愚蠢的div問題? :)

*我的php頁面上只有一個div,它是「jessslide」。

回答

1
<div id='jessslide'> 
    <?php 
    $photos=file("work.txt"); 
    foreach($photos as $image){ 
     $flag=0; 
     $item=explode("|",$image); 
     if($item[0]==$fields[0]){ 
      $photo=trim($item[1]); 

      // check for Vimeo 
      if(strpos($photo, "vimeo.com") && $flag==0): 
       echo "<iframe src='$photo?title=0&amp;byline=0&amp;portrait=0' width='900' height='500'  frameborder='0' webkitAllowFullScreen allowFullScreen></iframe>"; 
       $flag=1; 

      // check for Flash 
      elseif(strpos($photo, ".swf") && $flag==0): 
       echo "<object id='myId' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='900'  height='500'><param name='movie' value='$photo' /> 
          <!--[if !IE]>--> 
          <object type='application/x-shockwave-flash' data='images/work/$photo' width='900' height='500'> 
          <!--<![endif]--> 
          <div> 
          <h1>Alternative content</h1> 
          <p><a href='http://www.adobe.com/go/getflashplayer'><img src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a></p> 
          </div> 
          <!--[if !IE]>--> 
          </object> 
          <!--<![endif]--> 
         </object>"; 
       $flag=1; 

      // If it's not Vimeo or Flash, then it must be a photo 
      else : 
       $photoarray[] = $photo; 
      endif; 
     } 
    } 
    if (isset($photoarray)): 
     echo "<div id='slider-wrapper'><div id='slider' class='nivoSlider'>"; 
     foreach ($photoarray as $photo): 
      echo "<img src='images/work/$photo' alt='' />\n"; 
     endforeach; 
     echo "</div></div>"; 
    endif; 

    ?> 
</div> 
+0

非常感謝!它終於有效! :'D – Jess

+0

不客氣:-) – jessedb

+0

哦,該死的,事實證明,vimeo球員和瑞士法郎現在在滑塊內! D: – Jess

0

我不完全確定你在做什麼,但id是一個唯一的標識符。您不能在同一個頁面上擁有多個元素並使用相同的ID。我會先看看那裏是否是你問題的根源。最有可能的是它在最後一個div上用「滑塊」的id來做你想要的任何東西,其餘的只是以某種方式被破壞。