2013-04-10 133 views
0

如何使用return將PHP函數中的值用於JavaScript變量?例如:如何在javascript變量中獲取php函數返回值

PHP:

// Destination folder for downloaded files 

$date = date('m.d.y'); 
mkdir("uploads/" . $date, 0777, true); 
$upload_folder = 'uploads/' . $date; 

// If the browser supports sendAsBinary() can use the array $ _FILES 
if(count($_FILES)>0) { 
    if(move_uploaded_file($_FILES['upload']['tmp_name'] , $upload_folder.'/'.$_FILES['upload']['name'])) { 
     echo 'done'; 
    } 
    exit(); 
} else if(isset($_GET['up'])) { 
    // If the browser does not support sendAsBinary() 
    if(isset($_GET['base64'])) { 
     $content = base64_decode(file_get_contents('php://input')); 
    } else { 
     $content = file_get_contents('php://input'); 
    } 

    $headers = getallheaders(); 
    $headers = array_change_key_case($headers, CASE_UPPER); 

    if(file_put_contents($upload_folder.'/'.$headers['UP-FILENAME'], $content)) { 
     echo 'done'; 
    } 
    exit(); 
} 

$pathinfo = realpath($upload_folder); 
return $pathinfo; 

的Javascript

this.MakeRequest = function() 
{ 
    var somename = "somenameTest"; 
    var xmlHttp = getXMLHttp(); 

    xmlHttp.onreadystatechange = function() 
    { 
    if(xmlHttp.readyState == 4) 
    { 
     HandleResponse(xmlHttp.responseText); 
    } 
    } 

    xmlHttp.open("GET", "download.php", true); 
    xmlHttp.send(); 
} 

function HandleResponse(response) 
{ 
    document.getElementById('output').innerHTML = response; 
     **var x = php return varible** 

} 

回答

1
function HandleResponse(response) 
{ 
    document.getElementById('output').innerHTML = response; 
     var x = <?php echo json_encode($pathinfo);?>; 

} 
+0

不,它不工作,當我把這行到我的代碼之後,我的JavaScript沒有響應。 – RAj 2013-04-10 06:07:22

+0

我加','到PHP語句 – Amir 2013-04-10 06:12:37

+0

的結尾沒有不工作,仍然同樣的問題 – RAj 2013-04-10 06:18:27

0

只需echoPHP變量:

var x='<?php echo $pathinfo; ?>'; 

好運!

+0

不工作,這是警惕這樣的:<?PHP的echo $ PATHINFO; ?>,而不是路徑信息值 – RAj 2013-04-10 06:06:29

相關問題