2011-12-06 99 views
1

我如何才能真正知道我是否通過文件上傳選項將文件傳遞到服務器?php中的文件上傳錯誤

我)我使用的一種形式如下:

<form name = "someForm" id = "someForm" method = "post" action = "saveFile.php">     
    <input type = "file" name = "upload1" id = "upload1" /> 
    <input type = "file" name = "upload2" id = "upload2" />      
    <input type = "file" name = "upload3" id = "upload3" /> 
    <input type = "submit" id = "btnSubmit" value = "Submit" /> 
</form> 

II)在saveFile.php,我使用:

說:

echo $_FILES['upload1']["size"]; 

區別於其他,但我得到一個未定義索引:upload1錯誤,但不是當我使用時:

echo $_POST['upload1']; //returns filename 
+0

你可以張貼一些代碼?你在哪裏存儲文件在服務器上? Windows還是Linux/Unix? –

+0

Windows。存儲在服務器上。我需要檢查文件的大小,並且使用$ _FILES的任何提及都會報告錯誤。 – user980411

+0

你得到「未定義的索引:uploadSource1」,但它上面的代碼應該在尋找索引「upload1」..這是完全相同的代碼產生的錯誤? – djsumdog

回答

9

你需要指定<form> ENCTYPE到"multipart/form-data"

<form enctype = "multipart/form-data" name = "someForm" id = "someForm" method = "post" action = "saveFile.php">     
    <input type = "file" name = "upload1" id = "upload1" /> 
    <input type = "file" name = "upload2" id = "upload2" />      
    <input type = "file" name = "upload3" id = "upload3" /> 
    <input type = "submit" id = "btnSubmit" value = "Submit" /> 
</form> 
+0

謝謝。這工作。 – user980411

2

文件保存在:

 
print_r($_FILES); // NOT IN POST 
+0

感謝您的信息。 – user980411

4
<form name="someForm" id="someForm" method="post" 
    action="saveFile.php" enctype="multipart/form-data"> 

MIME類型需要的文件上傳。

您可以通過$_FILES$_POST,也不$_GET訪問它們:

echo $_FILES['upload1']['size']; 
+0

謝謝。這工作。 – user980411