绕过parse_ini_file保留字

时间:2013-06-23 13:52:57

标签: php

我有这个代码(不是由我制作的):

文件内部:Something =

我想把它变成Something = false

$filename = 'server.properties';

$data = parse_ini_file($filename);

$replace_with = array(
   'Something' => false
);

$fh = fopen($filename, 'w');

foreach ( $data as $key => $value )
{

  if ( ! empty($replace_with[$key]) )
    $value = $replace_with[$key];


  fwrite($fh, "{$key}={$value}" . PHP_EOL);
}

fclose($fh);
}

对于server.properties,输出应为Something = false。 但是false是php parse_ini_file中的保留字。

(注意:保留字不得用作ini文件的密钥。这些字包括:null,yes,no,true,false,on,off,none。值null,no和false导致“” ,yes和true结果为“1”。字符?{} |&〜![()^“不得在键中的任何位置使用,并且在值中具有特殊含义。)

问题是我用它做了很长的代码,结果我不能使用false也不是0.因此有没有办法在数组中发送单词“false”?或者有一种简单的方法可以完全不同地做到这一点吗?

0 个答案:

没有答案