'video/mp4','m4v'=>'video/mp4', 'webm'=>'video/webm','ogv'=>'video/ogg', 'mov'=>'video/quicktime' ]; $lista = []; $diag = []; $diag[] = "__DIR__ = ".__DIR__; $diag[] = "dirFs = ".$dirFs; $diag[] = "dirUrl = ".$dirUrl; if (!is_dir($dirFs)) { $diag[] = "ERRO: dirFs NÃO existe."; } else { // Varredura robusta com glob (case-insensitive via GLOB_BRACE) $pattern = $dirFs.'/*.{'.implode(',', array_merge($exts, array_map('strtoupper',$exts))).'}'; $files = glob($pattern, GLOB_BRACE) ?: []; $diag[] = "Arquivos encontrados por glob(".basename($dirFs)."): ".count($files); foreach ($files as $fs) { if (!is_file($fs)) continue; $f = basename($fs); $ext = strtolower(pathinfo($f, PATHINFO_EXTENSION)); $lista[] = [ 'title'=> pathinfo($f, PATHINFO_FILENAME), 'url' => $dirUrl . '/' . rawurlencode($f), 'mime' => $mime[$ext] ?? 'video/mp4', 'size' => @filesize($fs) ?: 0, 'mtime'=> @filemtime($fs) ?: 0, ]; } } // Ordena por nome usort($lista, fn($a,$b)=> strnatcasecmp($a['title'],$b['title'])); ?> Playlist de Vídeos

Meus Vídeos

Compatibilidade máxima: MP4 (H.264 + AAC). MOV pode não tocar em todos os navegadores.

>

Reproduzindo: abrir/baixar

Nenhum vídeo (.mp4/.webm/.ogv/.mov/.m4v) em .
Dica: confirme que video1.mp4 está exatamente dentro de videos32 (ao lado deste index.php).

Lista

$v): ?>
Nenhum vídeo listado.