PHP: как проверить формат фильма MKV или WMV - PullRequest
3 голосов
/ 17 декабря 2010

Я использую finfo_file и mime_content_type, он возвращает MKV и WMV: application / octet-stream PHP не может определить 2 этот формат видео?

Если необходимо использовать определение FFMPEG (я не знаю, возможно это или нет)тогда что такое команда для проверки формата.

Ответы [ 3 ]

1 голос
/ 17 декабря 2010

Одна вещь, которую вы можете сделать, это прочитать первые несколько байтов файла, чтобы проверить, соответствуют ли они известным сигнатурам файла.

В частности, сигнатура файла MKV (в шестнадцатеричном формате):

1a 45 df a3

Что касается WMV, то оно должно быть:

30 26 b2 75

См. Для справки:

Расширяемый двоичный мета-язык

Расширенный формат систем

0 голосов
/ 17 декабря 2010

Последние версии базы данных magic_mime могут без проблем идентифицировать файлы mkv / wmv.Подобно тому, как ваш общий хост имеет древнюю версию базы данных.

Вы можете принудительно использовать другой файл базы данных (с включенными определениями mkv / wmv), выполнив:

$handle = finfo_open('FILEINFO_MIME_TYPE', '/path/to/updated/database/file').

Вы должны быть в состоянии извлечь обновленный файл базы данных из пакета fileinfo-type для дистрибутива Linux.

0 голосов
/ 17 декабря 2010

Использование расширения файла:

http://www.php.net/manual/en/function.mime-content-type.php#94279

В Apache вам просто нужно добавить записи в файл mime.types (Apache /Conf / mime.types).Просто откройте файл любым редактором и добавьте две строки.

your/mimetype      mkv
another/type       mvw 

Если вы находитесь на общем хосте или не хотите связываться с настройками сервера, вы можете скопировать файл в место, где находится ваш скриптможет получить к нему доступ и передать путь в качестве второго параметра mime_content_type.

Анализ содержимого файла:

Если вам нужно проверить, действительно ли он является mkv / mvmесть другое решение, но оно не будет работать на общих хостах:

http://www.php.net/manual/de/function.mime-content-type.php#91646

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...