上传时未定义的索引

时间:2013-05-28 12:49:55

标签: php upload undefined-index

我有一个问题,我完全不理解。我有这个上传脚本总是返回 注意:未定义的索引:xxxxx中的uploadPDF

我确保该表单的enctype =“multipart / form-data”<form action="" method="POST" enctype="multipart/form-data">

该字段与我在代码<input name="uploadPDF" size="100" type="file" title=""/>

中要求的名称相同

当我尝试回复$_POST['uploadPDF']时,我实际上得到了有问题的文件名。但是当我尝试var_dump以下$_FILES['uploadPDF']['name']时,我得到了未定义的索引错误。

我真的不知道问题是什么。我在内部IIS服务器上运行。

调试信息:

这是我试图做的“调试”:

echo $_POST['uploadPDF']."<br />";
$filename = $_FILES['uploadPDF']['name'];
var_dump($filename);
echo "<br />";
var_dump($_FILES);

这是我得到的输出:

TEST PDF PORTAL V3.pdf
Notice: Undefined index: uploadPDF in C:\inetpub\myfolder\V4\admin\addRoutine.php on line 29 
NULL 
array(0) { }

4 个答案:

答案 0 :(得分:1)

上传文件时,您应该使用 $_FILES['file_name']不是$_POST['file_name'],因为文件信息存储在$_FILES数组中,因为您已将输入类型命名为'file'

所以,我建议

更改

echo $_POST['uploadPDF'];

echo $_FILES['uploadPDF'];

答案 1 :(得分:1)

您编写的表单未指定任何操作。

 ( <form action="" method="POST" enctype="multipart/form-data"> )

您需要asign“path_to_yourform.php”作为表单操作。

答案 2 :(得分:0)

你最好这样写:

echo $_POST['uploadPDF']."<br />";
    $filename = $_FILES['uploadPDF']['name'];       
    echo var_dump($filename)."<br />";

答案 3 :(得分:0)

嗯,这非常令人尴尬,其中一位工作人员在项目的其中一个文件中留下了<form action="" method="post">。由于此表单标记在我的表单标记之前,$ _FILES没有捕获索引,因为第一个表单标记中缺少enctype!