0

我有一个我完全不明白的问题。我有这个总是返回通知的上传脚本:未定义的索引:在 xxxxx 中上传 PDF

我已确保表单具有 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

4 回答 4

1

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

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

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

于 2013-05-28T13:30:15.527 回答
1

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

所以,我建议

改变

echo $_POST['uploadPDF'];

echo $_FILES['uploadPDF'];

于 2013-05-28T12:53:13.910 回答
0

You better write it like this:

echo $_POST['uploadPDF']."<br />";
    $filename = $_FILES['uploadPDF']['name'];       
    echo var_dump($filename)."<br />";
于 2013-05-28T13:03:08.937 回答
0

好吧,这很尴尬,其他从事此工作的<form action="" method="post">人之一在项目的一个包含文件中留下了一个。由于此表单标记在我的表单标记之前,$_FILES 没有捕获索引,因为第一个表单标记中缺少 enctype!

于 2013-05-28T14:05:54.760 回答