为了账号安全,请及时绑定邮箱和手机立即绑定

注意:未定义索引:文件上传视频

注意:未定义索引:文件上传视频

PHP
偶然的你 2023-05-12 15:29:57
我正在尝试将视频上传到我的上传文件夹。我从这里的另一个问题得到了代码并且工作正常。但是我不断收到此通知错误,但我不知道如何解决。我一整天都在努力。我试图检查它是否是isset(),但仍然没有用。有人能帮助我吗 ?<?php$allowedExts = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma");$_FILES = $_FILES['file'];$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);$unique = date('Y-m-d_H-i-s');if ((null !==($_FILES["file"]["type"] == "video/mp4")    || (null !==($_FILES["file"]["type"] == "audio/mp3"))    || ($_FILES["file"]["type"] == "audio/wma")    || ($_FILES["file"]["type"] == "image/pjpeg")    || ($_FILES["file"]["type"] == "image/gif")    || ($_FILES["file"]["type"] == "image/jpeg"))&& ($_FILES["file"]["size"] < 2000000)&& in_array($extension, $allowedExts)) {    if ($_FILES["file"]["error"] > 0) {        echo "Return Code: " . $_FILES["file"]["error"] . "<br />";    } else {    echo 'File uploaded successfully';    if (file_exists("upload/" . $_FILES["file"]["name"])) {        echo $_FILES["file"]["name"] . " already exists. ";    } else {        $datetime = date('Y-m-d_H-i-s');        move_uploaded_file($_FILES["file"]["tmp_name"],        "uploads/" . $_FILES["file"]["name"] . $datetime . md5($_FILES["file"]["name"]));    }    }} else {    echo "Invalid file";}?><form action="profile.php" id="videoupload" method="post" enctype="multipart/form-data"><label for="file"><span>Filename:</span></label><input type="file" name="file" id="file" /> <br /><input type="submit" name="submit" value="Submit" /></form>
查看完整描述

2 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

您正在尝试在上传文件之前处理文件上传。您必须先检查表格是否已发布。


<?php


if (isset($_FILES['file'])) {

    $allowedExts = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma");

    // $_FILES = $_FILES['file'];  // <-- remove this line

    $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

    $unique = date('Y-m-d_H-i-s');


    if ((null !==($_FILES["file"]["type"] == "video/mp4")

        || (null !==($_FILES["file"]["type"] == "audio/mp3"))

        || ($_FILES["file"]["type"] == "audio/wma")

        || ($_FILES["file"]["type"] == "image/pjpeg")

        || ($_FILES["file"]["type"] == "image/gif")

        || ($_FILES["file"]["type"] == "image/jpeg"))


    && ($_FILES["file"]["size"] < 2000000)

    && in_array($extension, $allowedExts)) {


        if ($_FILES["file"]["error"] > 0) {


            echo "Return Code: " . $_FILES["file"]["error"] . "<br />";


        } else {


            echo 'File uploaded successfully';


            if (file_exists("upload/" . $_FILES["file"]["name"])) {


                echo $_FILES["file"]["name"] . " already exists. ";


            } else {


                $datetime = date('Y-m-d_H-i-s');


                move_uploaded_file($_FILES["file"]["tmp_name"],

                "uploads/" . $_FILES["file"]["name"] . $datetime . md5($_FILES["file"]["name"]));


            }

        }


    } else {


        echo "Invalid file";

    }

}

?>


<form action="profile.php" id="videoupload" method="post" enctype="multipart/form-data">


<label for="file"><span>Filename:</span></label>

<input type="file" name="file" id="file" /> 

<br />

<input type="submit" name="submit" value="Submit" />


</form>


查看完整回答
反对 回复 2023-05-12
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

$_FILES['file']

意味着你有输入类型=文件名为“文件”。如果您没有名为“文件”的输入,则会收到未定义的索引通知。如果你有那个,

$_FILES = $_FILES['file'];

这会给其他代码带来错误。因为它试图覆盖 $_FILES。


查看完整回答
反对 回复 2023-05-12
  • 2 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信