2

我在网站上有一个滑块。滑块称为任何滑块。

您可以在下面的链接中查看它:

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

滑块允许嵌入 youtube 视频。

但是,目前我有一个 php 外观,它正在遍历一个目录以显示上传到该目录的任何横幅图像。

我不确定如何将 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 回答