php - 注意:未定义索引:文件上传视频
问题描述
我正在尝试将视频上传到我的上传文件夹。我在这里的另一个问题中得到了代码,效果很好。但是我不断收到此通知错误,我不知道如何解决它。我整天都在努力。我试图检查它是否是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>
解决方案
$_FILES['文件']
表示您有输入类型 = 名为“文件”的文件。如果您没有名为“文件”的输入,则会收到未定义的索引通知。如果你有那个,
$_FILES = $_FILES['文件'];
这会给其他代码带来错误。因为它试图覆盖 $_FILES。
推荐阅读
- codeigniter - 提交表单,它显示“column_name 不能为空”,但在表单内部,该值不为空。(代码点火器)
- c# - 将 DataTable 与 ListBox 绑定
- java - 从带有文件数组的 React 应用程序发送 POST 请求,在 Spring API 中作为字符串数组接收
- angular - Angular Universal:如何创建应用程序外壳并仅预渲染外壳?
- encoding - 这种编码类型的文本是什么?
- java - org.opencv.core.CvException: cv::Exception
- git-flow - 无法克隆 Gitflow
- docker - 使用 Nginx 的 Docker 容器中的反向代理问题
- static - 在 Flutter 中保留所有常量的最佳做法是什么?
- google-chrome-extension - 为什么 MakeAppx 生成 0 kb 文件?