2012-04-18 54 views
0

我有以下后文件上传完成后它会显示一个消息的JavaScript函数:如何从PHP获取文件名,并把它在JS

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需要在这里参与或不参与。

任何人谁可以提供这如何可以被编码将是非常有帮助的我:)

回答

0

可以echo和值存储在一个JavaScript变量的例子:

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

我想是这样这之前,但我不断得到一个未定义的表达标志W错误或类似的东西。你可以告诉我$ filename是如何被调用的,因为也许我在worng的地方调用它,你会在哪里调用$ filename? – user1341521 2012-04-18 16:59:03

+0

如果你想在不同的页面上访问一个php变量,你可以将它存储在SESSION变量中,比如$ _SESSION [“filename”],http://php.net/manual/en/features.sessions.php – undefined 2012-04-18 17:09:13

+0

Just以确保如果我理解,我是这样编码:'if(isset($ _ SESSION ['filename']))$ _SESSION ['filename'] = $ _SESSION ['$ _FILES ['fileVideo'] ['name ']']'在PHP脚本和JavaScript代码只是'echo $ filename'? – user1341521 2012-04-18 17:17:20

相关问题