2011-11-23 101 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>