我是PHP的新手,我在PHP中编写了一个简单的代码用于文件上传。但是我的代码给了我一个错误。有人帮我查找错误
这是我的代码
错误给出未定义索引
<?php
$name=$_FILES["file"]["name"];
$size=$_FILES['file']['size'];
$type=$_FILES['file']['type'];
?>
<form action="unset.php"method="POST">
<input type="file" name="file"><br><br>
<input type="submit" value="submit">
</form>
答案 0 :(得分:2)
您必须使用<form>
的enctype属性,该属性指定在将表单数据提交到服务器时应如何编码表单数据。
<form action="unset.php" method="POST" enctype="multipart/form-data">
仅在文件上传时才尝试访问FILES
变量
if(isset($_FILES))
{
$name=$_FILES["file"]["name"];
$size=$_FILES['file']['size'];
$type=$_FILES['file']['type'];
}
答案 1 :(得分:1)
将 enctype="multipart/form-data"
添加到表单标记
答案 2 :(得分:1)
试试这个: PHP
<?php
if(isset($_POST['submit'])){
echo $name=$_FILES["file"]["name"];
echo $size=$_FILES['file']['size'];
echo $type=$_FILES['file']['type'];
}
?>
HTML
<form action="unset.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" name="submit" value="submit">
</form>
答案 3 :(得分:1)
试试这个它不会给你未定义的索引错误
<?php
if(isset($_FILES) && $_SERVER['REQUEST_METHOD']=='POST')
{
$name=$_FILES["file"]["name"];
$size=$_FILES['file']['size'];
$type=$_FILES['file']['type'];
}
?>
<form action="unset.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" value="submit">
</form>
答案 4 :(得分:0)
您应该在表单标记中使用enctype =“multipart / form-data”,如
<form action="unset.php" method="POST" enctype="multipart/form-data">
注意:
标记的enctype属性指定提交表单时要使用的内容类型。当表单需要上传二进制数据(如文件内容)时,使用“multipart / form-data”
标记的type =“file”属性指定应将输入作为文件处理。例如,在浏览器中查看时,输入字段旁边会有一个浏览按钮