Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JS中调用php变量不起作用_Javascript_Php - Fatal编程技术网

Javascript 在JS中调用php变量不起作用

Javascript 在JS中调用php变量不起作用,javascript,php,Javascript,Php,我试图通过使用php读取服务器目录的内容来进行用户输入。因此,用户可以选择一个文件,在我的例子中是一个CSV文件,它被保存到一个变量中,然后在我的JavaScript代码中得到进一步的处理,该代码应该从中生成一个图表。它现在只需输出所选文件的路径字符串。我尝试使用json_encode函数,但它似乎仍然不起作用 <?php $dir = '/var/www/html/'; $graphen = ''; if (!isset($_POST['submit'])) { if ($dp =

我试图通过使用php读取服务器目录的内容来进行用户输入。因此,用户可以选择一个文件,在我的例子中是一个CSV文件,它被保存到一个变量中,然后在我的JavaScript代码中得到进一步的处理,该代码应该从中生成一个图表。它现在只需输出所选文件的路径字符串。我尝试使用json_encode函数,但它似乎仍然不起作用

<?php
$dir = '/var/www/html/';
$graphen = '';
if (!isset($_POST['submit'])) { 
 if ($dp = opendir($dir)) { 
 $files = array(); 
 while (($file = readdir($dp)) !== false) { 
  if (!is_dir($dir . $file)) { 
  $files[] = $file; 
  } 
 } 
 closedir($dp); 
 } else { 
 exit('Directory not opened.'); 
 } 
 if ($files) { 
 echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">'; 
 foreach ($files as $file) { 
  echo '<input type="checkbox" name="files[]" value="' . $file . '" /> ' . 
   $file . '<br />'; 
 } 
 echo '<input type="submit" name="submit" value="submit" />' . 
  '</form>'; 
 } else { 
 exit('No files found.'); 
 } 
} else { 
 if (isset($_POST['files'])) { 
 foreach ($_POST['files'] as $value) {
  $graphen .= $dir . $value . '<br />';
 } 
 } else { 
 exit('No files selected'); 
 }
} 
echo $graphen;
?>

<!DOCTYPE html> 
<html lang="en">

<head>
    
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

   
    <script src="highcharts.js"></script>
    <script src="data.js"></script>
    <script src="exporting.js"></script>
    <script src="export-data.js"></script>
    <script src="accessibility.js"></script>
    <script src="jquery-3.5.1.min.js"></script>


</head>

<body>

    <div id="container1"></div>

    <script type="text/javascript">

    var fileName = <?php echo json_encode($graphen); ?>; //doesn't work
       

            $.ajax({
                type: "GET",
                url: fileName,
                success: function (data) {
                    drawChart(data)
                }
            });


        function drawChart(raw_data) {
          //my code to draw chart is here and working
}


var文件名=//不起作用
$.ajax({
键入:“获取”,
url:fileName,
成功:功能(数据){
图纸(数据)
}
});
功能绘图图(原始数据){
//我绘制图表的代码在这里,并且正在工作
}

如果在JavaScript中为变量分配字符串,请使用

var x=“你好”

您当前的代码将导致

var fileName=;
=>
var fileName=variable;

添加引号,它应该可以工作:


var fileName='';
=>
var fileName='variable';

您应该读取文件的内容,而不是为变量分配路径。还可以使用JS解析对文件名中分配的JSON进行解码,以将其转换为JS对象。此外,您无法使用JS读取服务器中的文件。因此,请使用PHP和将其分配给js变量并解码