我在文件上传方面遇到了一个小问题。
因此,您点击一个按钮并出现一个窗口(ajax供电),您选择文件并按上传。问题是,一旦文件上传到浏览器页面重新加载并关闭窗口。并且没有文件:(。我已经测试了没有窗口的代码,它们工作得非常好。你推荐什么?
这是我的上传代码
<html>
<body>
<h2 class="">Step 1: Add the video</h2>
<p class="note">Your text goes here</p>
<form method="post" enctype="multipart/form-data">
File Name:<input type="text" name="name"/>
<br/><br/>
Browse: <input type="file" name="file"/>
<br/><br/>
<input type="submit" id='button' Value="Upload the video file" name="submit"/>
</form>
<?php
if(isset($_POST["submit"]))
{
$filename=$_POST["name"];
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$size=$_FILES["file"]["size"];
$size=$size/1000000;
$size=round($size, 2);
$size.="MB";
$namewithext=$filename." (".$size.")".".".$ext;
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
if (file_exists("../../../moreinfo/files/videos/" . $_FILES["file"]["name"]))
{
echo "<script> alert('".$_FILES["file"]["name"] . " already exists. "."');</script>";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"../../../moreinfo/files/videos/" . $namewithext);
echo "<script> alert('"."success"."');</script>";
}
}
}
else
{
}
?>
<?php
foreach(glob('../../../moreinfo/files/videos/*.*') as $filename){
$name = str_replace('../../../moreinfo/files/videos/', '', $filename);
$ext = pathinfo($name, PATHINFO_EXTENSION);
$notneeded=".".$ext;
$name = str_replace($notneeded, '', $name);
echo $name."</br>";
}
?>
</body>
</html>
请注意,echo "<script> alert('"."success"."');</script>";
永远不会被执行,因为没有时间。
谢谢!
答案 0 :(得分:0)
替换
<form method="post" enctype="multipart/form-data">
与
<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">
如果这不是问题,请尝试
echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; exit;
并查看是否有任何错误。