2

ウェブサイトにスライダーがあります。スライダーは何でもスライダーと呼ばれます。

以下のリンクで表示できます。

http://css-tricks.com/examples/AnythingSlider/#&panel1-1

スライダーを使用すると、YouTubeビデオを埋め込むことができます。

ただし、現在、このディレクトリにアップロードされているバナー画像を表示するためにディレクトリをループしているphpルックがあります。

スライダーの1つとしてYouTubeリンクを追加する方法がわかりませんが、ディレクトリ内のループを維持しています。

これが私が使用しているコードです:

<ul id="slider">

<?php
if ($handle = opendir('public/slider/'))
{
    while (false !== ($file = readdir($handle)))
    {
        $files[] = $file;
    }

    $files = array_slice($files, 2);

    foreach ($files as $file)
    {
        $name = explode('.', $file);
        print '<li><img src="public/slider/'.$file.'" title="'.$name[0].'" /></li>';
    }
    closedir($handle);
}
?>

これを行う方法について何か提案はありますか?

ありがとう

4

1 に答える 1

1

これを試して:

<?php

//will hold anything that you want displayed
$content = array(
    array('type' => 'yt', 'content' => 'http://www.youtube.com/watch?v=nn2FB1P_Mn8'),
    array('type' => 'yt', 'content' => 'http://www.youtube.com/watch?v=8mwKq7_JlS8')
);

if ($handle = opendir('public/slider/'))
{
    while (false !== ($file = readdir($handle)))
    {
        $content[] = array('type' => 'img', 'content' => $file);
    }

    closedir($handle);
}



    //$content = array_slice($content, 2);

    foreach ($content as $liItem)
    {
        switch($liItem['type']){
            case 'img':
                $name = explode('.', $liItem['content']);
                print '<li><img src="public/slider/'.$liItem['content'].'" title="'.$name[0].'" /></li>';
                break;
            case 'yt':
                if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $liItem['content'], $match)) {
                    echo '<li><iframe width="420" height="315" src="http://www.youtube.com/embed/'.$match[1].'" frameborder="0" allowfullscreen></iframe></li>';
                }
                break;
        }


    }


?>
于 2012-08-29T14:24:01.657 に答える