2015-07-22 13 views
5

ben parse_ini_file() functio dosyasını parse.ini php.net Recomend olarak parantez () içeren bir .ini dosyaları var, bu yüzden benim kod görünüyor diyelim gibi:Ayrıştırma ini dosyası

$ini = parse_ini_file('files/models.ini'); 

gibi daha sonra hata görünür:

Warning: syntax error, unexpected '(' in files/models.ini on line 4 in \index.php on line 48 

Bu hattan metindir 4

00name1=100 08/82-11/90 (443/445) Typový sešit [V] [27] 

Sorun şu an bu dosyayı alıyorum ve değiştiremiyorum,

Birden çok siteden ini dosyasında "null", "true" "no" "yes" gibi bazı özel kelimelerin bulunduğunu biliyorum. bu tür bir durum değil.

Yani, birileri bana yanlış yaptığım şeyi önerebilir veya bu imkansız olursa geçici bir çözüm var mı? documentation itibaren

$ini = parse_ini_file('files/models.ini', false, INI_SCANNER_RAW); 

:

+0

mu basit çözüm size – Rizier123

+0

Evet anlıyorum senin ini dosyasında değerlerinizin tırnak koymak olurdu, ama ne yazık ki bunu yapamam :( – Andurit

+0

ini dosyanızın içinde ya da [section] içinde herhangi bir yorumu var mı? – Rizier123

cevap

5

seçeneği siz INI_SCANNER_RAW kullanabilirsiniz INI_SCANNER_RAW olabilir verilirse

ardından seçenek değerleri

ayrıştırılır edilmeyecektir. Benim testinden

Sonuç:

$ php test.php 
array(1) { 
    ["foo"]=> 
    string(9) "foo (bar)" 
    ["00name1"]=> 
    string(49) "100 08/82-11/90 (443/445) Typový sešit [V] [27]" 
} 
+0

teşekkür ederim, bu çok yardımcı olur! – Andurit