mxs.sbrk.org ยป blog
|
home
|
projects
Retrieve booleans settings from PHP's configuration
The wrong but obvious way
if (ini_get('safe_mode') == false) {
echo "Safe mode disabled
";
}
Why is this wrong?
- If the setting is defined in php.ini, an empty string is returned when
disabled, "1" is if enabled, simple, right?
- If the setting is defined somewhere else, let's say in httpd.conf,
the exact string is returned, WTF?!
A better solution
function ini_get_boolean($setting)
{
$my_boolean = ini_get($setting);
if ( (int) $my_boolean > 0 )
$my_boolean = true;
else
{
$my_lowered_boolean = strtolower($my_boolean);
if ($my_lowered_boolean === "true" || $my_lowered_boolean === "on" || $my_lowered_boolean === "yes")
$my_boolean = true;
else
$my_boolean = false;
}
return $my_boolean;
}
if (ini_get_boolean('safe_mode') === false) {
echo "Safe mode disabled
";
}
See also
Generated on Sun Apr 15 13:15:48 UTC 2012 by gromit.sh