2012-03-14 106 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中設置。