С помощью php-файла, как показано ниже, для загрузки видеофайлов с локального диска в приложение, которое я сейчас разрабатываю (до воспроизведения на html, поэтому кодирование html не имеет к этому никакого отношения.) Я могу успешно загрузить mp4, mov, flv, и avi, но я не могу загрузить wmv, mpg и asf с сообщениями «тип mime не найден в этом списке», который приходит из этого файла php, и я сделал это сообщение самостоятельно.
Таким образом, это происходит в этом php-файле, прежде чем браузер (html-файл) распознает, что это за файл.
~~~~~~~
$mimetype = mime_content_type($path);
switch ($mimetype) {
case "video/mp4":
if($header){
header("Content-Type: video/mp4");
$dst_im = copy($path, $dst_file);
return "";
}else{
$dst_file = $dst_file . ".mp4";
if($re_size[0] == $size[0] && $re_size[1] == $size[1]) {
copy($path, $dst_file);
} else {
$dst_im = copy($path, $dst_file);
}
}
unlink($dst_im);
break;
case "video/x-ms-wmv":
if($header){
header("Content-Type: video/x-ms-wmv");
$dst_im = copy($path, $dst_file);
return "";
}else{
$dst_file = $dst_file . ".wmv";
if($re_size[0] == $size[0] && $re_size[1] == $size[1]) {
copy($path, $dst_file);
} else {
$dst_im = copy($path, $dst_file);
}
}
unlink($dst_im);
break;
case "video/quicktime":
case "video/x-msvideo":
case "video/x-flv":
case "video/mpeg":
case "video/x-ms-asf":
default:
return array(0, "* the mime type is not found on this list.");
}
return array(1, $dst_file);
}
~~~~~~~
ext. mime result origin of file
mp4 video/mp4 uploaded Shot with my smartphone
mov video/quicktime uploaded Shot with my smartphone
avi video/x-msvideo uploaded Shot with my camera
flv video/x-flv uploaded Downloaded from web
wmv video/x-ms-wmv can't be uploaded Downloaded from web
mpg video/mpeg can't be uploaded Downloaded from web
asf video/x-ms-asf can't be uploaded Downloaded from web
Я также сделал правильную настройку .htaccess.
Я думаю что,
* HTML кодирование здесь не является проблемой.
* Тип браузера здесь не проблема.
* Кодирование php-файла здесь не является проблемой, поскольку некоторые загружаются с одним и тем же php-файлом, и нет никаких указаний на тип mime и расширение файла, кроме этого php-файла.
* Размеры файлов здесь не имеют значения, потому что те файлы, которые я не могу загрузить, меньше, чем файлы mp4.
Поэтому я думаю, что-то не так с типом mime, который я использовал, или с самим видеофайлом, но я понятия не имею, почему это происходит.
Может кто-нибудь помочь мне?
Задача ещё не решена.
Других решений пока нет …