2013-07-04 50 views
0

我正在製作一個網站,允許用戶上傳他們想要的任何媒體文件(圖像,視頻和音頻文件)。不過,這個頁面實際允許我上傳的內容似乎很隨意。表單位於HTML,接收文件腳本位於PHPHTML表單只上傳某些文件

我的HTML形式如下:

<form action="recieveFile.php?id=0" method="POST" enctype="multipart/form-data"> 
<input type="file" name="media" value="Choose file"/> 
<br/><input type="submit" value="Upload"/> 
</form> 

我的PHP收到腳本是這樣的:

if (isset($_FILES['media'])) 
{ 
    saveFileFunctions(); 
} 
else 
{ 
    echo "No media files were uploaded!"; 
} 

因爲它是按我現在的saveFileFunctions每次結束了我上傳圖片。它也適用於.txt和.pdf。然而,無論何時我嘗試使用.mov或.mp4文件,我都會直接看到最後一個回顯,就像$_FILES['media']爲空。任何人都有任何想法,爲什麼我的表單只能發送某些文件?

+3

我估計文件大小超過'max_file_upload_size'設置。 – Pankucins

+1

嘗試檢查'$ _FILES ['file'] ['error']'see [php.net](http://www.php.net/manual/en/features.file-upload.errors.php) –

+0

如果文件大小超過2M,則不會設置$ _FILES ['file']'。我將我的'php5/apache/php.ini'改爲'max_upload_size = 50M',但它只能接受較小的文件。 – Tom

回答

1

你是propobly超過允許上傳文件的最大文件大小。您需要更改在php.ini:

; Maximum allowed size for uploaded files. 
upload_max_filesize = 20M 

; Must be greater than or equal to upload_max_filesize 
post_max_size = 20M 

你也可以這樣做,在運行時在程序

ini_set('post_max_size', '20M'); 
ini_set('upload_max_filesize', '20M'); 

或者在.htaccess文件:

php_value upload_max_filesize 20M 
php_value post_max_size 20M 
+0

我嘗試了ini_set並將其設置爲50M,但仍然沒有任何結果。它很好地工作,而不必在我的最後一臺服務器上做任何事情,但我認爲你是對的文件大小,似乎是相關的。 – Tom

+0

嘗試檢查$ _FILES ['file'] ['error'] - 按照@James Birkett的建議 – Ziarno

+0

我試着改變'php.ini'文件,以便我可以處理大小高達50MB的文件,但是我的php沒有似乎得到'$ _FILES ['media']',除非文件大小小於2MB。 – Tom