.ini 文件解析后输出错误

Wrong output of .ini file after parsing

我尝试使用如下所示的 ini 文件的 php 获取值:

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

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

字符串如下所示:
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文件的格式有误?

提前致谢

.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);

尽管出于某些原因我个人更喜欢双引号。