0

ファイルのアップロードが完了した後にメッセージを表示する JavaScript 関数を以下に示します。

function stopVideoUpload(success) {
  var namevideofile = $('.fileVideo').val();
  var result = '';
  if (success == 1) {
    result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
    $('.listVideo').append(namevideofile + '<br/>');
  }
  else {
    result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
  }
  return true;
}​

以下は、ファイルを正常にアップロードする別のページにある php スクリプトです。

if( file_exists("VideoFiles/".$_FILES['fileVideo']['name'])) {
    $parts = explode(".",$_FILES['fileVideo']['name']);
    $ext = array_pop($parts);
    $base = implode(".",$parts);
    $n = 2;

    while( file_exists("ImageFiles/".$base."_".$n.".".$ext)) $n++;
    $_FILES['fileVideo']['name'] = $base."_".$n.".".$ext;

    move_uploaded_file($_FILES["fileVideo"]["tmp_name"],
    "VideoFiles/" . $_FILES["fileVideo"]["name"]);
    $result = 1;

}
    else
      {
      move_uploaded_file($_FILES["fileVideo"]["tmp_name"],
      "VideoFiles/" . $_FILES["fileVideo"]["name"]);
      $result = 1;

      }


?>

<script language="javascript" type="text/javascript">window.top.window.stopImageUpload(<?php echo $result;?>);</script>  

var namevideofileファイル入力値 (.fileVideo はファイル入力のクラス) から値を取得する必要があることを除いて、アップロードが完了すると、サーバー内のファイルに付けられる名前は var namevideofile になります。 . したがって、php コードで述べたように、video.png として知られる 2 つのファイルがある場合、ファイルが存在する場合はファイル名の末尾に数字を追加して、サーバーに video.png と video1.png を作成します。

したがって、を追加namevideofileすると、両方のファイルのアップロードが完了した後、video.png と video1.png が表示されるはずです。の問題はvar namevideofile = $('.fileVideo').val();、両方のファイル名が正しくない video.png として表示されることです。

var namevideofileアップロード後にサーバーからファイル名を取得するように変更する方法を知っている人はいますか? 問題は、php スクリプトが JS 関数 (QandATable.php) とは別のページ (videoupload.php) にあるため、ここで ajax を使用する必要があるかどうかです。

これをどのようにコーディングできるかの例を提供できる人は誰でも私にとって非常に役に立ちます:)

4

1 に答える 1

0

echo値を javaScript 変数に格納できます。

var namevideofile = <php echo $filename; ?>;
于 2012-04-18T16:52:44.010 に答える