ID: 45956
Updated by: [EMAIL PROTECTED]
Reported By: bugs at timj dot co dot uk
-Status: Open
+Status: Assigned
Bug Type: Filesystem function related
-Operating System: irrelevant
+Operating System: *
-PHP Version: 5.2.6
+PHP Version: 5CVS, 6CVS (2008-08-31)
-Assigned To:
+Assigned To: jani
New Comment:
It's a bug. Oversight, but bug nevertheless.
Previous Comments:
------------------------------------------------------------------------
[2008-08-30 18:59:21] bugs at timj dot co dot uk
Description:
------------
This seems to be a design error rather than a bug: parse_ini_file()
does not provide any way to handle errors gracefully. In the event of a
syntax error, it throws an E_WARNING *but* the return value is simply an
empty array (the same as a - valid - empty file) instead of FALSE. Thus
there is no way to trap the error (via @ prefix) and handle it in a more
graceful way than an E_WARNING.
I would argue that changing the return value to FALSE in the case of an
invalid file is a reasonable change, since the only situations it will
break are ones where currently PHP throws a warning anyway.
Reproduce code:
---------------
This is what it would be nice to be able to do:
$ini = @parse_ini_file('some_invalid.ini');
if ($ini === false) {
// error: do something graceful
}
// normal execution
Expected result:
----------------
The code section "// do something graceful" executes
Actual result:
--------------
The code section "// normal execution" executes
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=45956&edit=1