BLOG DE DISEÑO WEB CORUÑA

Un poco de todo, recursos, tutoriales, noticias, anuncios...

Solución al error Deprecated: Function set_magic_quotes_runtime() con phpmailer

28/ABR/2011 31.330 visitas Ver comentarios
Solución al error Deprecated: Function set_magic_quotes_runtime() con phpmailer

ADVERTENCIA: Este artículo tiene más de 6 meses de antigüedad. Puede que esta información ya se encuentre obsoleta o haya nuevas y mejores opciones.

Si utilizas phpmailer y php 5.3 o superior, te encontrarás con un error de la función set_magic_quotes que está obsoleta en esta versión de PHP.

Revisando la web de phpmailer, veo que no hay una versión superior que corrija este error, entonces, googleando un poco, me encontré con una solución en Foros del Web que me vino al pelo y como utilizo esta clase a menudo, conviene tener a mano.

Sólo debes modificar 2 pequeñas líneas de código en el archivo class.phpmailer.php que son (línea 1464 aproximadamente):

Código 1 - PHP
/* FUNCION QUE DARÁ ERRORES*/

if (PHP_VERSION < 6) {
$magic_quotes = get_magic_quotes_runtime();
set_magic_quotes_runtime(0);
}
$file_buffer = file_get_contents($path);
$file_buffer = $this->EncodeString($file_buffer, $encoding);
fclose($fd);
if (PHP_VERSION < 6) { set_magic_quotes_runtime($magic_quotes); }
return $file_buffer;
}
Código 2 - PHP
/* NUEVA FUNCION CORRECTA */

if (PHP_VERSION < 6) {
$magic_quotes = get_magic_quotes_runtime();
ini_set("magic_quotes_runtime", 0);
}
$file_buffer = file_get_contents($path);
$file_buffer = $this->EncodeString($file_buffer, $encoding);
fclose($fd);
if (PHP_VERSION < 6) { ini_set("magic_quotes_runtime", $magic_quotes); }
return $file_buffer;
}

Acerca del Autor...

Macadia, es una agencia de Diseño Web Coruña, especializada en maquetación css y desarrollo de páginas web a medida con más de 19 años de experiencia en el desarrollo de páginas web profesionales. Si te ha gustado este artículo, por favor, ayúdanos a difundirlo compartiéndolo con tus amigos y contactos en las distintas redes sociales que utilices. ¡Muchas gracias!