Puede que la directiva magic_quotes_gpc solo pueda ser desactivada en el nivel de sistema, y no en tiempo de ejecución. En otras palabras, usar ini_set() no es posible.
Example#1 Desactivación de comillas mágicas del lado del servidor
Un ejemplo que define el valor de estas directivas a Off en php.ini. Para detalles adicionales, lea la sección del manual titulada Cómo modificar los parámetros de configuración.
; Magic Quotes ; ; Comillas mágicas para datos GET/POST/Cookie de entrada. magic_quotes_gpc = Off ; Comillas mágicas para datos generados en tiempo de ejecución, ; p.ej. desde SQL, exec(), etc magic_quotes_runtime = Off ; Usar comillas mágicas tipo Sybase (escapar ' con '' en lugar de \'). magic_quotes_sybase = Off
Si el acceso a la configuración del servidor no se encuentra disponible, el uso de .htaccess es también una opción. Por ejemplo:
php_flag magic_quotes_gpc Off
Con el propósito de escribir código portable (código que funciona en cualquier entorno), por ejemplo si la configuración en el nivel del servidor no es posible, he aquí un ejemplo de cómo deshabilitar magic_quotes_gpc en tiempo de ejecución. Este método es ineficiente así que es preferible definir las directivas apropiadas en algún otro lugar.
Example#2 Deshabilitar comillas mágicas en tiempo de ejecución
<?php
if (get_magic_quotes_gpc()) {
function stripslashes_profundo($valor)
{
$valor = is_array($valor) ?
array_map('stripslashes_profundo', $valor) :
stripslashes($valor);
return $valor;
}
$_POST = array_map('stripslashes_profundo', $_POST);
$_GET = array_map('stripslashes_profundo', $_GET);
$_COOKIE = array_map('stripslashes_profundo', $_COOKIE);
$_REQUEST = array_map('stripslashes_profundo', $_REQUEST);
}
?>