Scandir (), но только получить типы видео файлов - PullRequest
0 голосов
/ 12 октября 2019

Я сделал функцию, которая берет каталог, уже заданный пользователем, и сканирует каталог на наличие файлов, добавляя их в массив с именем $ files . Сценарий ниже:

public function getDirContents($dir, &$results = array()){
    $files = scandir($dir);
    foreach($files as $key => $value){
        $path = realpath($dir.DIRECTORY_SEPARATOR.$value);
        if(!is_dir($path)) {
            $results[] = $path;
        } else if($value != "." && $value != "..") {
            $this->getDirContents($path, $results);
            //$results[] = $path;
        }
    }
    return $results;
}

Я только хочу, чтобы сценарий сканировал файлы .mp4 и .avi

Я смотрел на другиеответы онлайн, но ни один из них не позволяет мне сохранить переменную $ dir , которую я передаю своей функции.

Есть ли способ исключить все файлы, кроме .mp4 и .avi, но сохранить моипеременная $ dir в функции?

Ниже приведено решение, которое я нашел в Интернете:

$files = glob('/tmp/*.{mp4,avi,mov}', GLOB_BRACE);

Как вы можете видеть, оно просит меня ввести каталог, но я хочу использовать переданную переменнуювместо этого в функцию.

...