Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $U文件[';';][';类型';]将应用程序/八位字节流作为输出_Php - Fatal编程技术网

Php $U文件[';';][';类型';]将应用程序/八位字节流作为输出

Php $U文件[';';][';类型';]将应用程序/八位字节流作为输出,php,Php,说明: 我正在上传一段视频,像往常一样在上传之前检查文件的类型。。。。文件没有被上传,所以我想输出$_FILES['upload']['type']的值,它给了我以下信息 echo $_FILES['upload']['type']; if(($_FILES['group_video']["type"] == "video/FLV") || ($_FILES['group_video']["type"] == "video/MP4") 发出 应用程序/八位字节流 因此,它无法通过下面代码中

说明:

我正在上传一段视频,像往常一样在上传之前检查文件的类型。。。。文件没有被上传,所以我想输出$_FILES['upload']['type']的值,它给了我以下信息

echo $_FILES['upload']['type'];
if(($_FILES['group_video']["type"] == "video/FLV") 
|| ($_FILES['group_video']["type"] == "video/MP4")
发出

应用程序/八位字节流

因此,它无法通过下面代码中的所有检查

echo $_FILES['upload']['type'];
if(($_FILES['group_video']["type"] == "video/FLV") 
|| ($_FILES['group_video']["type"] == "video/MP4")

我该如何解决这个问题?? 为什么它不显示视频的类型??
我遗漏了什么吗?

马里奥的上述评论是正确的;您的客户已确定FLV的类型为
应用程序/octet流
。这是FLV文件的一种有效mime类型,因此您需要在代码中说明它。我建议有一个您接受的文件扩展名列表,并在每个扩展名上附加一个允许的mime类型列表。例如:

array (
    'mp4' => array ('audio/mp4', 'video/mp4'),
    'flv' => array ('video/flv', 'video/x-flv', 'application/octet-stream')
);
现在,当您获得上传时,首先获得扩展名,并检查mime类型是否与您接受的扩展名类型之一匹配


这将给你一些保证,防止人们错误地上传不正确命名或格式的媒体,但不会阻止用户故意上传带有恶意内容的文件;用户上传的所有内容在被信任之前都应该进行病毒检查。

你的$\u文件数组的其余部分是什么样子的?@SimonBrahan这里是var_dump($\u文件)数组(大小=1)“group_video”=>array(大小=5)“name”=>string”的输出,它是关于游戏的全部内容——YouTube.FLV(长度=51)'type'=>string'application/octet stream'(length=24)'tmp_name'=>string'C:\wamp\tmp\phpCA89.tmp'(length=23)'error'=>int 0'size'=>int 19276444浏览器决定发送何种MIME类型;而且他们通常不善于交际。(由于MIME标识符不区分大小写,并且可以携带属性,因此您的代码无法可靠地工作。)