Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 保留ajax控件的文件上载_Php_Javascript_Ajax - Fatal编程技术网

Php 保留ajax控件的文件上载

Php 保留ajax控件的文件上载,php,javascript,ajax,Php,Javascript,Ajax,我在上传文件时遇到了一个小问题 因此,您可以单击一个按钮,然后出现一个窗口(ajax支持),您可以选择文件并按upload。问题是一旦文件上传到浏览器,页面就会重新加载并关闭窗口。没有文件:(。我在没有窗口的情况下测试了代码,它们工作得非常好。你有什么建议吗 这是我上传的代码 <html> <body> <h2 class="">Step 1: Add the video</h2> <p class="note">Your

我在上传文件时遇到了一个小问题

因此,您可以单击一个按钮,然后出现一个窗口(ajax支持),您可以选择文件并按upload。问题是一旦文件上传到浏览器,页面就会重新加载并关闭窗口。没有文件:(。我在没有窗口的情况下测试了代码,它们工作得非常好。你有什么建议吗

这是我上传的代码

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