PHP div повторяется - PullRequest
       3

PHP div повторяется

0 голосов
/ 30 октября 2011

Мне было интересно, сможет ли кто-нибудь помочь мне исправить этот сценарий ... Он просто вызывает слайд-шоу, если файл является изображением, проигрыватель vimeo, если он имеет URL-адрес vimeo, и встроенный SWF, если он это флэш-файл

<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 ... Я не правильно делаю с div в php. Кто-нибудь хочет быть крутым и помочь мне с этим глупым делом? :)

* На php-странице у меня есть только один div вне php-скрипта, который является "jessslide".

Ответы [ 2 ]

1 голос
/ 30 октября 2011
<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 голосов
/ 30 октября 2011

Я не совсем уверен, что вы делаете, но id - это уникальный идентификатор.Вы не можете иметь несколько элементов на одной странице с одним и тем же идентификатором.Я бы сначала посмотрел туда, чтобы узнать, в этом ли причина вашей проблемы.Скорее всего, он делает все, что вы хотите, в самом последнем div с идентификатором «slider», а все остальное просто каким-то образом уничтожается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...