2011-11-23 26 views
5

我通過這種方式提交的文件,表格內(有一個提交按鈕,表單標籤等):

<fieldset> 
     <input type="file" name="file" /> 
    </fieldset> 

,我試圖用PHP這種方式把它拉/使用它:

$file = $orgname."/".basename($_FILES['file']['name']); 
move_uploaded_file($_FILES['file']['tmp_name'], $file); 

而且我得到這些錯誤:

Notice: Undefined index: file in C:\wamp\www\generic\addorg.php on line 45 

Notice: Undefined index: file in C:\wamp\www\generic\addorg.php on line 46 

可能是什麼造成的?我看過的所有內容都表明它應該可以工作。

+2

我不知道確切的問題,而是一個很好的調試工具是你的print_r $ _FILES,看看裏面有什麼。 – Aerik

回答

24

形式需要設置enctype=multipart/form-data

+0

似乎工作,但現在我得到「無法移動」和「未能打開流」的錯誤。 –

+0

可能是一個權限問題傑克 – billynoah

+0

+ 10,這解決了我的問題。 –

-4

嘗試翻轉你的斜線,因爲你使用的是Windows機器

$file = $orgname . '\\' . basename($_FILES['file']['name']); 
+0

這不僅不重要,而且通過在雙引號內放置反斜槓,您已經避免了第二個引號。 – Brad

+0

現在好了:-)? – abcde123483

+0

你仍然需要逃避\ – jprofitt

6

確保您<form...指定enctype="multipart/form-data">

3

你有沒有設置ENCTYPE屬性您的表單爲:multipart/form-data

<form action="/some_action.php" enctype="multipart/form-data" method="post"> 
    <fieldset> 
    <input type="file" name="file" /> 
    <input type="submit" name="some_name" value="Submit" id="some_name" /> 
    </fieldset> 
</form> 
3

試試這個:

<form action="something.php" enctype="multipart/form-data" method="post"> 
    <input type="file" name="file" /> 
    <input type="hidden" name="MAX_FILE_SIZE" value="5242880" /> 
</form>