我一直在尝试调查错误,但似乎无法解决。有人能帮忙吗。谢谢。
警告:语法错误,D:\ langEn.ini的第4行中出现意外的'(' 第12行的D:\ Xampp \ htdocs \ PhpProject1 \ companyinfo.php
class CompanyInfo
{
function parse_files()
{
//files created for localization
$file1 = "D:\langEn.ini";
$file2 = "D:\jap.ini";
if($file1 == TRUE)
{
print_r(parse_ini_file($file1));
}
else
{
print_r(parse_ini_file($file2));
}
}
}
$obj = new CompanyInfo;
$obj ->parse_files();
输出:
Company Name:
Unikaihatsu Software Private Limited
HO Address(Mumbai):
33-34, Udyog Bhavan, Sonawala Lane,
Goregaon (East), Mumbai, India, PIN 400-063
Phone:+91-22-26867334 Fax:+91-22-26867334
URL: http://www.usindia.com
Branch Office(Ahemdabad):
Unitech Systems
A/410, Mardia Plaza, Near G. L. S. College,
C. G. Road, Ahmedabad, India, PIN 380-006
Phone:+91-79-26461287 Fax:+91-79-40327081
URL: http://www.usindia.com
Branch Office(Indore):
1st Floor, MPSEDC-STP Building,
Electronics Complex,
Pardeshipura, Indore, India, PIN 452010
Phone : +91-731-4075738 Fax : +91-731-4075738
URL : http://www.usindia.com
答案 0 :(得分:1)
我认为该错误的原因是您不能在ini文件中使用某些字符。
在您的情况下,由于括号HO Address(Mumbai)
和(
,诸如)
之类的条目无效。
摘自PHP手册:
字符
?{}|&~![()^"
不能在键的任何位置使用,并且在值中具有特殊含义。
您可以在parse_ini_file() documentation中阅读更多内容。
P.S。上面是您所询问的错误的原因,但这并不是您会遇到的唯一问题。
您应该总体上检查文件结构,因为它看起来根本不符合标准ini file format。 ini文件的格式通常应为
[simple]
val_one=SomeValue
val_two=567
[simple2]
val_three=SomeOtherValue
val_four=890
其中[simple]
表示段,然后val_one
,val_two
等是键,而SomeValue
,567
等是值。使用PHP的parse_ini_*
函数解析以上内容会产生任何一种
Array
(
[val_one] => SomeValue
[val_two] => 567
[val_three] => SomeOtherValue
[val_four] => 890
)
或
Array
(
[simple] => Array
(
[val_one] => SomeValue
[val_two] => 567
)
[simple2] => Array
(
[val_three] => SomeOtherValue
[val_four] => 890
)
)
取决于$process_sections
标志是设置为false还是true。现场演示:https://3v4l.org/4q82F
另外,这是个有点奇怪的数据,要存储在ini文件中-这些文件通常用于存储诸如应用程序设置之类的内容,而您的办公室地址可能更适合存储在数据库中(或至少存储在JSON中)文件),其中将存在a)更多结构,b)对非字母数字字符使用的限制更少。