Но вам нужно где-то хранить это расширение - в видеофайлах, например, в тегах ID3 (и использовать lib https://github.com/JamesHeinrich/getID3/ для его извлечения). Скорее всего, это НЕ то, что вы хотите сделать, так как вам нужно отредактировать файл во внешнем интерфейсе.
Другой вариант - использовать mime_content_type
(после завершения загрузки файла) - для "mp4" файл, даже без расширения, он выдаст вам "video / mp4", для mkv "video / x-matroska". Et c. на основе MIME-типа вы можете снова создать расширение - например:
$exts = [
"video/x-matroska" => "mkv",
"video/mp4" => "mp4"
];
, а затем:
$extension = $exts[mime_content_type("..path..to..file")];
(конечно, сначала с проверкой, существует ли запись там).
Само расширение НЕ хранится в каких-либо метаданных, поэтому вы не можете просто извлечь его.
Имея тип mime, вы также можете использовать любые популярные библиотеки - например: https://github.com/ralouphie/mimey
для преобразования mime-типа в расширение.
Чтобы получить размер файла, лучше всего просто использовать функцию размера файла.
Другой можно было бы просто отправить исходное имя файла с последним сообщением (которое сообщает бэкэнду, что файл завершен): вероятно, самое надежное.