解析后.ini文件的输出错误

时间:2016-04-06 18:05:04

标签: php parsing output ini

我尝试用一​​个ini文件的php获取值,如下所示:

[hash] 
key = yFrTYcqH116ZL|XOJnMCLrLUf@RfqrNB
iv = 35jL|HRNSDhn38T39MK9wdN26CkcYRKT

使用python脚本创建ini文件,该脚本选择字符串的随机字符。

字符串如下所示:
string = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789=@#|'



最后,我尝试解析ini文件并获取它的值:

$key_ini = parse_ini_file("..\key.ini");
$key = $key_ini['key'];
$iv = $key_ini['iv'];

echo $key;
echo '<br>';
echo $iv;

输出非常奇怪:

0
35

可能我在字符串中使用了无效字符或者ini文件的格式是错误的吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

.ini文件中,使用双引号""表示字符串,因此将对其进行解析而不进行修改。要解决您的问题,您可以双引号.ini文件中的值,例如:

[hash] 
key = "yFrTYcqH116ZL|XOJnMCLrLUf@RfqrNB"
iv = "35jL|HRNSDhn38T39MK9wdN26CkcYRKT"

或者,您可以告诉parse_ini_file()使用INI_SCANNER_RAW模式,例如:

$key_ini = parse_ini_file("..\key.ini", false, INI_SCANNER_RAW);

虽然由于某些原因我个人更喜欢双引号。