我有一个问题,我完全不理解。我有这个上传脚本总是返回 注意:未定义的索引: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) { }
答案 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!