2

ファイルのアップロードに小さな問題があります。

クリックするとウィンドウが表示され(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>";そのための時間がないため、決して実行されないことに注意してください。

ありがとう!

4

1 に答える 1

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;

エラーがないかどうかを確認します。

于 2013-02-23T04:32:12.353 に答える