Php 保留ajax控件的文件上载
我在上传文件时遇到了一个小问题 因此,您可以单击一个按钮,然后出现一个窗口(ajax支持),您可以选择文件并按upload。问题是一旦文件上传到浏览器,页面就会重新加载并关闭窗口。没有文件:(。我在没有窗口的情况下测试了代码,它们工作得非常好。你有什么建议吗 这是我上传的代码Php 保留ajax控件的文件上载,php,javascript,ajax,Php,Javascript,Ajax,我在上传文件时遇到了一个小问题 因此,您可以单击一个按钮,然后出现一个窗口(ajax支持),您可以选择文件并按upload。问题是一旦文件上传到浏览器,页面就会重新加载并关闭窗口。没有文件:(。我在没有窗口的情况下测试了代码,它们工作得非常好。你有什么建议吗 这是我上传的代码 <html> <body> <h2 class="">Step 1: Add the video</h2> <p class="note">Your
<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>
步骤1:添加视频
您的文本放在这里
文件名:
浏览:
替换
<form method="post" enctype="multipart/form-data">
与
FYI如果您不编写操作,则默认转到相同的page@NullPointer你能提供一些关于它的文档吗…因为我不知道。这部分是我想要的。不过有一个陷阱,页面被重定向到实际页面,而实际页面不应该在窗口外看到。非常感谢!请参阅@Barmar中的步骤8,它说的是空字符串,如果($\u FILES[“file”][“error”]>0),则未取消定义在发出警报之前发出警报这一行…看看它是否会出现…你能发布你的javascript吗?你的PHP脚本不是设计用于AJAX的,它是用于正常表单提交的。是的,Barmar,这就是我的想法。谢谢!我将不得不创建一个新的线程来询问AJAX文件上传。我使用过asp.net AJAX,但不是普通的AJAX。
<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">
echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; exit;