2012-04-18 48 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

相關問題