Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
PHP:解析扩展名为.PHP的ini文件_Php_Regex_Ini - Fatal编程技术网

PHP:解析扩展名为.PHP的ini文件

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的ini文件。例如config.ini.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';