编程语言
首页 > 编程语言> > 如何从php中的所有文件的文件夹目录中只获取视频文件?

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

作者:互联网

我在“uploads / video /”目录中有一些视频,图像和文本文件.
在这里,我使用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>";

获得结果:

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 ) 

我只需要视频文件.删除文本,mp3,jpg等文件:

Array ( [2] => ADD.mp4  [6] => Phen.mp4 [7] => REM.mp4) 

感谢您的更新.

解决方法:

你可以使用glob():

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

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

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

PHP.net这里看到它.

标签:scandir,php
来源: https://codeday.me/bug/20190724/1525954.html