上传文件时未定义的索引

php
2022-08-30 20:20:58

这是我的错误:

注意:未定义的索引:C:\xampp\htdocs\Project\Template1\users\index.php第21行的文件 注意:未定义的索引:C:\xampp\htdocs\Project\Template1\users\index.php第23行的文件请上传

如何摆脱它?

代码:

<form action="index.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file"><br><br>
<input type="submit" value="submit" name="submit">
</form>

Php 代码:

<?php

    $name = $_FILES['file']['name'];
    $temp_name = $_FILES['file']['temp_name'];

    if (isset($name)) {

        if (!empty($name)) {
            $location = '../uploads/';
        }

        if (move_uploaded_file($temp_name, $location.$name)) {
            echo 'uploaded';
        }

    } else {
        echo 'please uploaded';
    }
?>

答案 1

确保已设置表单属性 。enctype="multipart/form-data"

此属性可帮助您从用户处获取文件。

<form action="PATH" method="post" enctype="multipart/form-data"></form>

答案 2

更改您的PHP脚本,如下所示,然后尝试

<?php 
    if(isset($_POST['submit'])){
        $name       = $_FILES['file']['name'];  
        $temp_name  = $_FILES['file']['tmp_name'];  
        if(isset($name) and !empty($name)){
            $location = '../uploads/';      
            if(move_uploaded_file($temp_name, $location.$name)){
                echo 'File uploaded successfully';
            }
        } else {
            echo 'You should select a file to upload !!';
        }
    }
?>

推荐