如何仅从php中所有文件的文件夹目录中获取视频文件?

Ram*_*mal 3 php scandir

我在“上传/视频/”目录中有一些视频、图像和文本文件。在这里,我正在使用所有文件,scandir但我只想要该文件夹中的视频。

示例代码:

$video_dir    = 'uploads/video/';
$video_array = scandir($video_dir);

unset($video_array[0]);
unset($video_array[1]);

echo "<pre>";
print_r($video_array);
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)

得到结果:

Array ( [2] => ADD.mp4 [3] => COO_Notes.txt [4] => Carefree.mp3 [5] => Circus Tent.mp3 [6] => Phen.mp4 [7] => REM.mp4 [8] => images (9).jpg [9] => images.jpg [10] => test.php ) 
Run Code Online (Sandbox Code Playgroud)

我只需要视频文件。删除文本、mp3、jpg 等文件:

Array ( [2] => ADD.mp4  [6] => Phen.mp4 [7] => REM.mp4) 
Run Code Online (Sandbox Code Playgroud)

感谢您的更新。

Jan*_*Jan 7

您可以使用glob()

<?php
foreach (glob("*.mp4") as $filename) {
    echo "$filename - Size: " . filesize($filename) . "\n";
}
# or:
$video_array = glob("*.mp4");
?>
Run Code Online (Sandbox Code Playgroud)

为了获得多种格式,只需将扩展名放在花括号中并添加参数GLOB_BRACE

$video_array = glob('uploads/video/{*.mp4,*.flv,*.mov}', GLOB_BRACE);
Run Code Online (Sandbox Code Playgroud)

请在此处在PHP.net 上查看。