如何使用.php扩展名解析ini文件。例如 config.ini.php 下面是内容文件。
<?php
[Session]
SessionTimeout=1200
ActivityTimeout=600
CookieTimeout=0
SessionNameHandler=custom
Handler=SessionHandlerDB
?>
我试过 parse_ini_file 它无效。
这是我得到的错误警告:语法错误,意外END_OF_LINE,期待&#39; =&#39;
我正在使用一个框架,我无法删除PHP标记。
答案 0 :(得分:2)
<?php
$configContent = file_get_contents('config.ini.php');
$iniContent = preg_replace('/<\?php|\?>/m', '', $configContent);
var_export(parse_ini_string($iniContent));
结果:
array (
'SessionTimeout' => '1200',
'ActivityTimeout' => '600',
'CookieTimeout' => '0',
'SessionNameHandler' => 'custom',
'Handler' => 'SessionHandlerDB',
)
答案 1 :(得分:0)
如果您无法删除PHP标记,那么这是一种更好的方法:
<?php
return [
'session' => [
'SessionTimeout' => 1200,
'ActivityTimeout' => 600,
'CookieTimeout' => 0,
'SessionNameHandler' => 'custom',
'Handler' => 'SessionHandlerDB',
]
];
使用:
$config = require 'config.inc.php';
答案 2 :(得分:0)
我知道这已经超过 5 年了,但我想加上我的 2 美分。
我不知道为什么每个人都让 OP 在创建他们的 ini 文件作为 PHP 时如此困难。它增加了额外的安全性,因此即使用户知道文件的路径,也无法访问它。
为了回答 OP 的原始问题,我在自己自制的 CMS 中执行此操作,并且它与 let PORT = 80
console.log('The port is ' + PORT);
console.log(`The port is ${PORT}`);
配合得很好:
parse_ini_file
只需将 ini 代码块注释掉,并在第一行前面加上分号。 ini 将 PHP 视为注释,而 PHP 将 ini 视为注释,而 ;<?php die();
/*
[Session]
SessionTimeout=1200
ActivityTimeout=600
CookieTimeout=0
SessionNameHandler=custom
Handler=SessionHandlerDB
*/
?>
仍然可以读取它。为了获得更高的安全性,您可以添加 parse_ini_file
。