使用如下所示的php文件将视频文件从本地驱动器上传到我当前正在开发的应用程序中(在以html播放之前,因此html编码与之无关。)我可以成功上传mp4,mov ,flv和avi,但是我无法上传wmv,mpg和asf的消息,该消息来自此php文件,且消息内容为“此列表中未找到mime类型”,我是由我自己制作的。
因此,在浏览器(html文件)识别出它是哪种文件之前,该php文件中就会发生这种情况。
~~~~~~~
$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文件上传的,除此php文件外,没有其他MIME类型和文件扩展名的提示。
*这里的文件大小不存在问题,因为我无法上传的文件比mp4文件小。
所以我想我使用的mime类型或视频文件本身肯定有问题,但是我不知道为什么会这样。
有人可以帮我吗?