保存ajax控件的文件上传

问题描述:

我遇到了文件上传的小问题。保存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

尝试提醒,如果($ _FILES [“文件”] [“错误”]> 0)这一行...并看看它是否去那里... – 2013-02-23 04:36:24

+1

你可以发布你的JavaScript吗? – luckystars 2013-02-23 04:37:46

+2

您的PHP脚本不是用于AJAX,它用于正常的表单提交。 – Barmar 2013-02-23 04:44:36

更换

<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; 

,看看是否有任何错误。

+0

供参考如果你不写行动默认去同一页 – 2013-02-23 04:33:13

+0

@NullPointer你可以提供一些文件...因为我不知道它。 – 2013-02-23 04:35:19

+0

这部分是我想要的。虽然有一个问题,但页面会被重定向到实际的页面,而不是在窗口外看到的页面。 非常感谢! – 2013-02-23 04:40:39