flv文件的$_FILES["file"]["type"]错误


Error with $_FILES["file"]["type"] for flv files

我有麻烦检查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函数来获取文件的类型

相关文章: