- Home
- Categorie
- Coding e Sistemistica
- PHP
- Sostituire eregi con preg_match
-
Sostituire eregi con preg_match
Ciao a Tutti,
c'è quelche buonanima che mi sa aiutare per aggiornare questo codice:
if (eregi(".inc.php",$HTTP_SERVER_VARS['PHP_SELF']) || eregi(".inc.php",$_SERVER['PHP_SELF'])) {
echo "<html>\r\n<head>\r\n<title>Forbidden 403</title>\r\n</head>\r\n<body><h3>Forbidden 403</h3>\r\nThe document you are requesting is forbidden.\r\n</body>\r\n</html>";
exit;
}Volevo togliere la funzione eregi perchè deprecata.
-
Ciao Webtronic,
visto l'utilizzo che ne fai utilizzare un substr per ricavare la parte finale sarà sicuramente più performante di un espressione regolare.
-
@Thedarkita said:
Ciao Webtronic,
visto l'utilizzo che ne fai utilizzare un substr per ricavare la parte finale sarà sicuramente più performante di un espressione regolare.Ciao Thedarkita,
vista la mia totale ignoranza in materia, puoi darmi qualche spiegazione in più? Io sto cercando di far girare in locale un mio sito, però mi da errore (deprecated function), credo di aver capito che la funzione egregi va modificata.. c'è un modo per sostituirla "pari pari"?
-
In questa maniera hai gli stessi risultati di prima, ed utilizza molte meno risorse del server, il tutto senza errori ovviamente:
[php]
if(substr($_SERVER['PHP_SELF'], -8) == '.inc.php')
{
echo "<html>\r\n<head>\r\n<title>Forbidden 403</title>\r\n</head>\r\n<body><h3>Forbidden 403</h3>\r\nThe document you are requesting is forbidden.\r\n</body>\r\n</html>";
exit;
}
[/php]
-
Infinite grazie!