2014-02-11 164 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];