我有麻烦检查FLV文件的文件类型与php。这是我的代码
if($_FILES["file"]["type"] == "video/x-flv")
{ echo "true"; }
else{ echo "false"; }
但我的问题是,它进入else语句当我上传flv…我无法解决这个问题。请帮. .
编辑->
也有同样的问题($_FILES["file"]["type"] == "application/x-shockwave-flash")
一样. .
使用finfo_file();
试
$finfo = finfo_open(FILEINFO_MIME_TYPE);
if (finfo_file($finfo, $filename) == "video/x-flv" ){}
可能文件本身不是一个有效的FLV文件。
编辑。
1st:你确定$_FILES["file"]["error"]
是零吗?如果没有,请检查"错误信息解释"。通常最常见的错误是在上传页面的form
标签上没有enctype="multipart/form-data"
。
second :永远不要相信$_FILES["file"]["type"]
。这是由浏览器给出的。您可能需要检查文件扩展名。
if (strtoupper(substr($_FILES["file"]["name"], -4)) == ".FLV") {
...
}
测试文件名扩展名就像信任$_FILES["file"]["type"]
一样不安全-它们都是在客户端设置的。唯一可靠的解决方案是使用fileinfo.
您可以使用gettype()或finfo函数来获取文件的类型