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

时间:2012-04-18 16:46:39

标签: php javascript jquery ajax

我在下面有一个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。所以,如果我有两个名为video.png的文件,正如我在我的php代码中所述,如果文件存在,那么在文件名末尾添加一个数字,这样就可以在服务器中创建video.png和video1.png。

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

所以有人知道如何更改var namevideofile以便在上传后从服务器检索文件名吗?问题是php脚本位于JS函数(QandATable.php)的单独页面(videoupload.php)上,因此需要在此处涉及ajax。

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

1 个答案:

答案 0 :(得分:0)

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

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