PHP上传视频访问MIME类型

PHP上传视频访问MIME类型,php,.htaccess,file-upload,Php,.htaccess,File Upload,在过去的一周里,我一直在尝试用视频上传文件,我用图像上传,效果很好,但我的视频没有上传。我的一个朋友建议我在.htaccess文件中声明MIME类型,我试过了,但没有成功,语法错误吗?还是我走错了方向 这是我的.htacess语法 AddType video/avi .avi AddType video/quicktime .mov AddType video/mpeg .mpeg .mpg AddType video/mp4 .mp4 还有用于文件上传的PHP move_uploaded_f

在过去的一周里,我一直在尝试用视频上传文件,我用图像上传,效果很好,但我的视频没有上传。我的一个朋友建议我在.htaccess文件中声明MIME类型,我试过了,但没有成功,语法错误吗?还是我走错了方向

这是我的.htacess语法

AddType video/avi .avi
AddType video/quicktime .mov
AddType video/mpeg .mpeg .mpg
AddType video/mp4 .mp4
还有用于文件上传的PHP

move_uploaded_file($_FILES["video"]["tmp_name"],
"../upload/" . $id . $title . date("Ymd") . $_FILES["video"]["name"]);
$class->insertvideo($video);

首先,您不需要使用AddType,除非您希望某个文件类型由服务器执行,而不是直接输出

第二。在访问“视频”键之前,应确保该键位于$\u文件中

您的目录找对了吗?确保您正在查找上载文件的位置的父目录

请尝试以下代码以确保文件确实正在上载

if(array_key_exists('video',$_FILES)
{
    if($_FILES['video']['error']==UPLOAD_ERROR_OK)
    {
        move_uploaded_file($_FILES['video']['tmp_name'],'../upload/'.basename($_FILES['video']['name']);
        echo 'success';
    }
    else
    {
        throw new Exception('error detected');
    }
}
else
{
    throw new Exception('video not in $_FILES array key.');
}
还要确保上传表单包含正确的加密类型

<form method="post" enctype="multipart/form-data">
    <input type="file" name="video" />
    <input type="submit" value="submit" />
</form>

运行phpinfo()并获取您的上传文件大小。它通常默认为2MB,这对于您的视频来说可能太小了。此外,您还需要设置足够长的执行时间,以便上传文件


这些都必须在php.ini中设置。

上传文件时到底出了什么问题?你会遇到什么错误?什么都没有发生,我的文件会上传到服务器,它根本不会插入我的视频。这需要先进行基本调试,然后-文件包含什么?你能打印($文件)吗?当我在$文件上打印时,它返回一个空数组