2012-03-14 68 views
0

过去一周我一直在试图做一个文件上传的视频,我做了他们的图片和那些工作正常,但我的视频没有上传。我的一个朋友建议我在我的.htaccess文件中声明MIME类型,然后我尝试了,但它没有用,语法错误?还是我以这种错误的方式去做?PHP上传视频htacess 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); 

感谢。

Ĵ

+1

上传文件时究竟出了什么问题?你会得到什么错误? – 2012-03-14 20:41:12

+0

什么也没有发生,我的文件确实上传到服务器,并且根本没有插入我的视频 – user1269625 2012-03-14 20:51:19

+1

这首先需要进行基本的调试,那么'$ _FILES'包含了什么?你可以做一个'print_r($ _ FILES);'? – 2012-03-14 20:51:49

回答

1

首先你不需要,除非你想通过服务器,而不是直接被直接输出执行特定文件类型使用将AddType。

二。在访问它之前,你应该确保“视频”键在$ _FILES中。

您正在寻找正确的目录吗?确保您正在查看上传文件的上级目录。

请尝试以下代码以确保该文件实际上传。

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> 
1

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

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