PHP: загрузка 3gp видео файлов - PullRequest
0 голосов
/ 05 января 2011

Я хочу загрузить видеофайлы .3gp на сервер через код PHP. Я проверил MIME-тип видеофайлов 3gp по типу видео «эхо», он выглядит как application/octet-stream.

Я добавил проверку ниже, чтобы ограничить ее только несколькими файлами в формате видео, как показано ниже:

if($_video_type != 'video/x-ms-wmv' && $_video_type != 'application/octet-stream' && $_video_type != 'video/avi' && $_video_type != 'video/mpeg'){
    $_error_videotitle = 'Only WMV, MP4, MPEG, FLV, 3GP videos are allowed';
    $is_errors = true;
}

Но он не загружает 3gp файл, но все равно выдает ошибку: (

Пожалуйста, помогите, спасибо!

Ответы [ 2 ]

2 голосов
/ 05 января 2011

Вы скопировали вставленный здесь код?Если это так, то обратите внимание, что у вас есть дополнительный пробел в конце.

'application/octet-stream '
1 голос
/ 05 января 2011

Это не очень хорошая проверка.

В зависимости от типа MIME (предположительно), заданного PHP, информация о файле совсем не годится, потому что на самом деле она не проверяет столько содержимого или вообще не проверяет ...

Тип MIME обычно проверяется расширением, и поддерживается только несколько основных расширений ...

Все, что определено как "application / octet-stream", в основном в формате НЕИЗВЕСТНО для PHP / чего-либо еще. Большинство браузеров просто загружают файлы такого типа.

Таким образом, для определения фактического типа и РАБОЧЕЙ MIME я бы предложил сначала проверить расширение, а затем кодек, который должен содержаться в файле такого типа. Если заголовки не совпадают, файл недействителен ... Кроме того - для заголовков просто ищите, например, «формат 3gp» - очень легко найти форматы в большинстве кодеков только в Google. Если вы не можете найти его таким, проверьте эту полезную страницу: Мультимедийные вики

...