提问者:小点点

如何使用javascript包含php文件


我正在尝试为我的文件索引包含javascript。php,问题是javascript在php文件扩展名图表中。当我尝试将javascript链接到我的索引时。php不起作用,所以如何链接图表。php索引。php

我已经试过了

<script>
    <?php include_once "../assets/js/charts.php";?>
</script>

以及作为

<script src="../assets/js/charts.php"></script>

两者都不起作用。

示例charts.php

<!-- Gender stats of user -->
<script type=''>
var options = {
    chart: {
        height: 320,
        type: 'pie',
    }, 
    <?php echo "series: [$gender[0],$gender[1],$gender[2]],"?>
    labels: ['Male','Female','Not specify'],
    legend: {
        show: true,
        position: 'bottom',
        horizontalAlign: 'center',
        verticalAlign: 'middle',
        floating: false,
        fontSize: '14px',
        offsetX: 0,
        offsetY: 7
    },
    responsive: [{
        breakpoint: 600,
        options: {
            chart: {
                height: 240
            },
            legend: {
                show: false
            },
        }
    }]

}

var chart = new ApexCharts(
    document.querySelector("#gender-pie-user"),
    options
);

chart.render();
</script>

图表。php有一个php文件扩展名,它主要是Javascript,还有我数据库中的一些php变量。我应该注意,如果我包括图表。js直接在索引内编码。php它可以工作。

例如,这项工作:

// index.php
<script type=''>
var options = {
    chart: {
        height: 320,
        type: 'pie',
    }, 
    <?php echo "series: [$gender[0],$gender[1],$gender[2]],"?>
    labels: ['Male','Female','Not specify'],
    legend: {
        show: true,
        position: 'bottom',
        horizontalAlign: 'center',
        verticalAlign: 'middle',
        floating: false,
        fontSize: '14px',
        offsetX: 0,
        offsetY: 7
    },
    responsive: [{
        breakpoint: 600,
        options: {
            chart: {
                height: 240
            },
            legend: {
                show: false
            },
        }
    }]

}

var chart = new ApexCharts(
    document.querySelector("#gender-pie-user"),
    options
);

chart.render();
</script>

虽然这不起作用:

// index.php
<script src='../assets/js/charts.php'></script>

共2个答案

匿名用户

<?php require __DIR__ . "/../assets/js/charts.php";?>

匿名用户

PHP不会默认输出内容。所以当你这样做的时候:

<script>
    <?php include_once "../assets/js/charts.php";?>
</script>

您实际上只是将charts.php的内容包含到内存中,但从未输出它。

类似的方法更可能奏效:

<script>
    <?php echo require("../assets/js/charts.php");?>
</script>