PHP:解析扩展名为.PHP的ini文件
如何解析扩展名为.php的ini文件。例如config.ini.php 下面是它的内容文件PHP:解析扩展名为.PHP的ini文件,php,regex,ini,Php,Regex,Ini,如何解析扩展名为.php的ini文件。例如config.ini.php 下面是它的内容文件 <?php [Session] SessionTimeout=1200 ActivityTimeout=600 CookieTimeout=0 SessionNameHandler=custom Handler=SessionHandlerDB ?> 我尝试了解析ini\u文件它不起作用 下面是我得到的错误警告:语法错误,意外的行结尾,应为“=” 我使用的框架无法删除PHP标记 如果无法
<?php
[Session]
SessionTimeout=1200
ActivityTimeout=600
CookieTimeout=0
SessionNameHandler=custom
Handler=SessionHandlerDB
?>
我尝试了解析ini\u文件它不起作用
下面是我得到的错误警告:语法错误,意外的行结尾,应为“=”
我使用的框架无法删除PHP标记 如果无法删除PHP标记,则更好的方法是:
<?php
$configContent = file_get_contents('config.ini.php');
$iniContent = preg_replace('/<\?php|\?>/m', '', $configContent);
var_export(parse_ini_string($iniContent));
<?php
return [
'session' => [
'SessionTimeout' => 1200,
'ActivityTimeout' => 600,
'CookieTimeout' => 0,
'SessionNameHandler' => 'custom',
'Handler' => 'SessionHandlerDB',
]
];
删除您必须删除的php标记。这不是有效的PHP代码。您只能将有效的PHP代码放入PHP标记中。标记不是有效的INI语法。至少你需要指出“它不工作”是什么意思。是否有错误,是否未加载数据,返回错误值?如果无法删除
,则项目中存在严重错误。当文件无法作为php文件加载时,为什么要将其保存为config.ini.php
?这不是PHP代码,所以
是错误的。唯一的解决方案是读取包含file\u get\u contents
的文件,删除PHP标记(使用str\u replace
或类似方法),然后使用parse\u ini\u string()
。投票支持创造性的解决方案。虽然我强烈要求OP重新思考他们的整个方法。是的,我同意这种方法非常奇怪。我想知道为什么OP不能删除PHP标记。如果他做不到,他甚至可以编辑文件吗?
<?php
return [
'session' => [
'SessionTimeout' => 1200,
'ActivityTimeout' => 600,
'CookieTimeout' => 0,
'SessionNameHandler' => 'custom',
'Handler' => 'SessionHandlerDB',
]
];
$config = require 'config.inc.php';