本文介绍一种安全、可靠的方式,使用 php 读取纯 js 文件(如 config.js)中定义的全局变量,并将其转换为关联数组,支持通过 url 参数(如 ?id=item1)动态返回对应数值。不依赖外部库,兼容 php 7.4+,强调安全性与实用性。
在实际开发中,有时需复用前端已有的 JavaScript 配置文件(如 config.js),避免重复维护多份配置。但 PHP 无法直接执行 JS 代码,也不能像 parse_ini_file() 那样原生解析 .js 格式。因此,关键在于“安全地提取变量赋值语句”,而非执行 JS。
假设你的 config.js 内容如下(注意:仅支持简单 var name = value; 形式,不含函数、对象或注释):
var item1 = 1.00; var item2 = 25.00; var item3 = 35.00;
PHP 解析脚本 file.php 可这样
实现:
{"item1": 1.00, "item2": 25.00, "item3": 35.00}对应 PHP 一行即可加载:
$config = json_decode(file_get_contents('config.json'), true) ?: [];访问 xyz.com/file.php?id=item2 将返回纯文本 25(PHP 自动转为整数)或 25.0(浮点),无 HTML 包裹,便于 AJAX 或跨域调用。
通过此方法,你既复用了现有 JS 配置,又保持了 PHP 后端的安全性与可控性——这才是前后端配置协同的务实之道。