Php 注意:未定义索引:文件上传视频
我正在尝试将视频上载到我的上载文件夹。我从这里的另一个问题中得到了代码,效果很好。但我一直收到这个通知错误,我不知道如何修复它。我一整天都在努力。我试着检查它是否是Php 注意:未定义索引:文件上传视频,php,html,html5-video,Php,Html,Html5 Video,我正在尝试将视频上载到我的上载文件夹。我从这里的另一个问题中得到了代码,效果很好。但我一直收到这个通知错误,我不知道如何修复它。我一整天都在努力。我试着检查它是否是isset(),但仍然不起作用。有人能帮我吗 <?php $allowedExts = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma"); $_FILES = $_FILES['file']; $extension = pathinfo($_FILES['file'
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>
文件名:
$\u文件['file']
表示您的输入类型=名为“file”的文件。如果没有名为“file”的输入,则会收到一个未定义索引通知。
如果你有
$_FILES = $_FILES['file'];
$\u FILES=$\u FILES['file'];
这将给其他代码带来错误。因为它试图覆盖$\u文件 $\u文件['file']
表示您的输入类型=名为“file”的文件。如果没有名为“file”的输入,则会收到一个未定义索引通知。
如果你有
$_FILES = $_FILES['file'];
$\u FILES=$\u FILES['file'];
这将给其他代码带来错误。因为它试图覆盖$\u文件 您试图在上载文件之前处理文件上载。你必须先检查一下表格是否已张贴
<?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>
文件名:
您试图在上载文件之前处理文件上载。你必须先检查一下表格是否已张贴
<?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>
文件名:
我首先要看的地方是$\u FILES=$\u FILES['file']代码>行。你这样做可能是有原因的,但你的脚本的其余部分表现得好像没有发生过一样。@rickdenhaan当我保持这条线时,我得到这条信息的唯一地方就是那条线上。当我移动它时,我会在大约3个其他地方收到消息。好的,这意味着$\u FILES['file']
在脚本开头不存在,并且该行不会意外地破坏它。然后问题似乎出现在向这个脚本提供文件上传的任何东西上,比如带有
的表单或一段javascript。你能把那部分代码添加到你的问题中吗?@rickdenhaan我刚刚更新了它只是为了澄清:表单就这样在同一个文件中?如果是这样的话,我假设您在尚未提交表单时,在$\u FILES=$\u FILES['file']
行上收到通知,并且在提交表单后,您仍然会收到通知,但在另一行(我猜是pathinfo()行),对吗?我首先要看的是$\u FILES=$\u FILES['file']代码>行。你这样做可能是有原因的,但你的脚本的其余部分表现得好像没有发生过一样。@rickdenhaan当我保持这条线时,我得到这条信息的唯一地方就是那条线上。当我移动它时,我会在大约3个其他地方收到消息。好的,这意味着$\u FILES['file']
在脚本开头不存在,并且该行不会意外地破坏它。然后问题似乎出现在向这个脚本提供文件上传的任何东西上,比如带有
的表单或一段javascript。你能把那部分代码添加到你的问题中吗?@rickdenhaan我刚刚更新了它只是为了澄清:表单就这样在同一个文件中?如果是这种情况,我假设您在尚未提交表单时,在$\u FILES=$\u FILES['file']
行上收到通知,并且在提交表单后,您仍然会收到通知,但在另一行(我猜是pathinfo()行),对吗?