ID: 44019 Updated by: [EMAIL PROTECTED] Reported By: petr at hroch dot info -Status: Assigned +Status: Closed Bug Type: Filesystem function related Operating System: * PHP Version: 5.3CVS-2008-02-01 (snap) Assigned To: jani New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2008-02-04 20:33:58] [EMAIL PROTECTED] And btw. Comments in the manual are not documented behaviour. :) ------------------------------------------------------------------------ [2008-02-04 20:33:17] [EMAIL PROTECTED] Hold your horses, I have a fix already, just waiting for commit.. ------------------------------------------------------------------------ [2008-02-04 11:54:03] petr at hroch dot info I've used this syntax in 5.x versions till now. I got most suggestions and ideas from official documentation and comment discussion http://php.net/manual/en/function.parse-ini-file.php Maybe it's good idea to post there the new syntax usage change for versions >= 5.3 before it's officially changed in documentation on php5.3 stable release. Regards Petr ------------------------------------------------------------------------ [2008-02-04 10:48:30] [EMAIL PROTECTED] Ah, now I see. I didn't have any machine to test with during the weekend so I got it wrong way. :D In 5.3 the ini parsing has been improved, and along the line I broke some old stuff which I actually didn't think anyone relied upon. I have to investigate and check if it's possible even to keep this old (and bad) syntax. Is it even documented anywhere? ------------------------------------------------------------------------ [2008-02-03 15:26:07] petr at hroch dot info Hello Jani, Before I've submited this bug, I've tested this feature in php-5.2.5 where line foo=FOO"barian" returns [foo] => barbarian so it works gracefully, in php5.3-dev it doesn't. In my example FOO is a constant defined before parse_ini_file function. In your example $FOO is undefined global variable isn't it? Anyway changing ini file using your way doesn't work as expected, even if there's no $FOO definition I should be expecting that foo="{$FOO}barian" returns [foo] => barian not [foo] => FOO}barian modified Test.ini using Jani's solution ------------------------------------- [Topic] number=1 string="test" foo="{$FOO}barian" PHP code: -------- <? define("FOO","bar"); print_r(parse_ini_file("test.ini",true)); ?> Expected result: ---------------- Array ( [Topic] => Array ( [number] => 1 [string] => test [foo] => barbarian ) ) Actual Result: -------------- Array ( [Topic] => Array ( [number] => 1 [string] => test [foo] => FOO}barian ) ) I Hope it helps. Best regards Petr ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/44019 -- Edit this bug report at http://bugs.php.net/?id=44019&edit=1