我尝试用一个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文件的格式是错误的吗?
提前致谢
答案 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);
虽然由于某些原因我个人更喜欢双引号。