2014-02-11 65 views
-2

我有以下代码可以在视频之间随机旋转以在目录中显示。我试图让顺序而不是随机(1.mp4,然后2.mp4等),但是当我替换一个asort()的rand()函数时,我得到一个错误。有任何想法吗? 谢谢。PHP旋转视频

$video_count = 0; 
    if(isset($_SESSION['video_count'])){ 
    $video_count = $_SESSION['video_count']; 
} 

$video_count++; 
$_SESSION['video_count'] = $video_count; 

$folder = './videos'; 
$extList = array(); 
$extList['mp4'] = 'movie/mp4'; 


$img = ""; 
$fileList = array(); 
$handle = opendir($folder); 
while (false !== ($file = readdir($handle))) { 
    $file_info = pathinfo($file); 

    if (isset($extList[ strtolower($file_info['extension']) ])){ 
     $fileList[] = $file; 
    } 
} 
closedir($handle); 
$rand_id = (int)rand(0,count($fileList)-1); 

$video_id =$fileList[$rand_id]; 

,并显示出:

<video width="1000" height="565" autoplay id="video" loop="true"> 
    <source src="videos/<?= $video_id ?>" type="video/mp4"> 
    <source src="movie.ogg" type="video/ogg"> 
    <source src="movie.webm" type="video/webm"> 
    <object data="videos/<?= $video_id ?>" width="624" height="352"> 
    <embed src="movie.swf" width="624" height="352"> 
    </object> 
</video> 
+4

你得到了什么确切的错误? – sircapsalot

+0

让我们不要发布错误或阅读文档,它是sooooo 2013.要做到这一点。 –

+0

如果我用asort()替换那个rand(),我得到一个空白页。 – user3132770

回答

0

什么:

$files = glob($folder.'/*.mp4'); 

shuffle($files); 

// if you need just filename 
$video_id = pathinfo(reset($files), PATHINFO_FILENAME); 
// or just file with ext 
$video_id = basename(reset($files)); 
1

你并不需要使用ASORT,那是特殊的关联数组。使用排序。 然后,您可以使用yor会话变量$ video_count来每次选择一个项目。

... 
closedir($handle); 
sort($fileList); 
$video_id =$fileList[$video_count];