如何从 php 检索文件名并将其放入 JS 中


How to retrieve file name from php and putting it in JS

我在下面有一个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。因此,如果我有 2 个称为 video.png 的文件,正如我在 php 代码中所述,如果文件存在,则在文件名末尾添加一个数字,以便在服务器中创建 video.png 和 video1.png。

因此,当我附加namevideofile时,它应该在两个文件上传完成后显示视频.png和视频1.png。var namevideofile = $('.fileVideo').val(); 的问题在于它将两个文件名都显示为视频.png这是不正确的。

那么有谁知道如何更改var namevideofile以便它在上传后从服务器检索文件名?问题是 php 脚本位于 JS 函数 (QandATable.php) 的单独页面上(videoupload.php),所以 ajax 是否需要参与其中。

任何可以提供如何编码的示例的人都会对我非常有帮助:)

你可以echo值并将其存储在javaScript变量中:

var namevideofile = <php echo $filename; ?>;