我在Netbeans中编写PHP代码。程序正在生成正确的输出,但在浏览器上生成以下通知。
注意:未定义的索引:第2行的C:\ xampp \ htdocs \ PhpProject3 \ index.php中的名称
注意:未定义的索引:第3行的C:\ xampp \ htdocs \ PhpProject3 \ index.php中的名称
注意:未定义的索引:第4行的C:\ xampp \ htdocs \ PhpProject3 \ index.php中的名称
注意:未定义的索引:第5行的C:\ xampp \ htdocs \ PhpProject3 \ index.php中的名称
这是我的代码:
<?php
echo $name=$_FILES['name']['name'].'<br>';
echo $size=$_FILES['name']['size'].'<br>';
echo $type=$_FILES['name']['type'].'<br>';
echo $tmp_name=$_FILES['name']['tmp_name'];
?>
<form action="index.php" method="POST" enctype="multipart/form-data">
<input type="file" name="name"><br/><br/>
<input type="submit" value="Submit">
</form>
答案 0 :(得分:3)
你需要添加一个IF语句,因为PHP想要访问变量$_FILES['name']
,即使它没有设置。
然后,如果您使用的是POST请求(用户提交表单),则需要检查此值:
if($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['btnSubmit'])
{
// get if the user submits the file
if(isset($_FILES['name'])
{
echo $name=$_FILES['name']['name'].'<br>';
echo $size=$_FILES['name']['size'].'<br>';
echo $type=$_FILES['name']['type'].'<br>';
echo $tmp_name=$_FILES['name']['tmp_name'];
}
}
将您的按钮替换为:
<input type="submit" value="Submit" name="btnSubmit">
答案 1 :(得分:2)
试试这个:
<?php
if(isset($_POST['btnSubmit']){
echo $name=$_FILES['name']['name'].'<br>';
echo $size=$_FILES['name']['size'].'<br>';
echo $type=$_FILES['name']['type'].'<br>';
echo $tmp_name=$_FILES['name']['tmp_name'];
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="name"><br/><br/>
<input type="submit" value="Submit" name="btnSubmit">
</form>
答案 2 :(得分:2)
您收到该错误,因为当页面加载时,$_POST
变量不存在,因此您首先需要检查是否存在后置变量。
<?php
if (isset($_POST['submitBtn'])) {
if (isset($_FILES['name'])) {
echo $name = $_FILES['name']['name'] . '<br>';
echo $size = $_FILES['name']['size'] . '<br>';
echo $type = $_FILES['name']['type'] . '<br>';
echo $tmp_name = $_FILES['name']['tmp_name'];
}
}
?>
<form action="index.php" method="POST" enctype="multipart/form-data">
<input type="file" name="name"><br/><br/>
<input type="submit" value="Submit" name="submitBtn">
</form>
答案 3 :(得分:0)
试试这个
<?php
if(isset($_FILES['name']) && is_array($_FILES['name']))
{
echo $name=$_FILES['name']['name'].'<br>';
echo $size=$_FILES['name']['size'].'<br>';
echo $type=$_FILES['name']['type'].'<br>';
echo $tmp_name=$_FILES['name']['tmp_name'];
}
?>
<form action="index.php" method="POST" enctype="multipart/form-data">
<input type="file" name="name"><br/><br/>
<input type="submit" value="Submit">
</form>