PHP – Server – $_SERVER, filter_input, filter_var
Función que devuelve un valor determinado de la variable superglobal $_SERVER.
Para acceder a la variable $_SERVER es mejor utilizar la función filter_input y filter_var y no acceder directamente a esta variable superglobal. Además estas funciones nos garantizan un contenido libre de errores.
/**
* Class HelperServer
*/
abstract class HelperServer
{
/**
* Devuelve el valor de una variable del
* array superglobal $_SERVER
* NOTA: filter_input para las opciones INPUT_SERVER
y INPUT_ENV no funcionan para FASTCGI
* Si la variable no existe, devuelve null
*
* @param string $key
*
* @return string
*/
public static function getValue($key) : string
{
if (filter_has_var(INPUT_SERVER, $key)) {
$value = filter_input(INPUT_SERVER,
$key,
FILTER_SANITIZE_STRING);
} else {
$value = '';
if (array_key_exists($key, $_SERVER)) {
$value = filter_var( $_SERVER[ $key ],
FILTER_SANITIZE_STRING,
null);
}
return $value;
}
if ($value === false || is_null($value)) {
return null;
}
return $value;
}
}
/**
* Class HelperServer
*/
abstract class HelperServer
{
/**
* Devuelve el valor de una variable del
* array superglobal $_SERVER
* NOTA: filter_input para las opciones INPUT_SERVER
y INPUT_ENV no funcionan para FASTCGI
* Si la variable no existe, devuelve null
*
* @param string $key
*
* @return string
*/
public static function getValue($key) : string
{
if (filter_has_var(INPUT_SERVER, $key)) {
$value = filter_input(INPUT_SERVER,
$key,
FILTER_SANITIZE_STRING);
} else {
$value = '';
if (array_key_exists($key, $_SERVER)) {
$value = filter_var( $_SERVER[ $key ],
FILTER_SANITIZE_STRING,
null);
}
return $value;
}
if ($value === false || is_null($value)) {
return null;
}
return $value;
}
}
/** * Class HelperServer */ abstract class HelperServer { /** * Devuelve el valor de una variable del * array superglobal $_SERVER * NOTA: filter_input para las opciones INPUT_SERVER y INPUT_ENV no funcionan para FASTCGI * Si la variable no existe, devuelve null * * @param string $key * * @return string */ public static function getValue($key) : string { if (filter_has_var(INPUT_SERVER, $key)) { $value = filter_input(INPUT_SERVER, $key, FILTER_SANITIZE_STRING); } else { $value = ''; if (array_key_exists($key, $_SERVER)) { $value = filter_var( $_SERVER[ $key ], FILTER_SANITIZE_STRING, null); } return $value; } if ($value === false || is_null($value)) { return null; } return $value; } }
Ejemplo
$user_agent = HelperServer::getValue('HTTP_USER_AGENT');
print_r($user_agent);
$user_agent = HelperServer::getValue('HTTP_USER_AGENT');
print_r($user_agent);
$user_agent = HelperServer::getValue('HTTP_USER_AGENT'); print_r($user_agent);