Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diéssica

[Resolvido] Erro "Function eregi() is deprecated". Como a

Recommended Posts

Eu tinha feito um sistema e coloquei no meu servidor de hospedagem, funcionou e tudo. Porém quando fui usar o WAMP SERVER (local), começou a aparecer erros no sistema.

 

Resolvi vários, um dos primeiros era sobre O HTTP_SERVER alguma coisa, e agora estou com um problema que não consigo resolver que é o FUNCTION EREGI() IS DEPRACATED.

 

Li sobre as versões diferentes entre ambos servidores. Mas não ajudou a resolver o problema.

 

Segue o código:

$GP_uploadAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
 if (!eregi("GP_upload=true", $HTTP_SERVER_VARS['QUERY_STRING'])) {
	$GP_uploadAction .= "?".$HTTP_SERVER_VARS['QUERY_STRING']."&GP_upload=true";
} else {
	$GP_uploadAction .= "?".$HTTP_SERVER_VARS['QUERY_STRING'];
}
} else {
 $GP_uploadAction .= "?"."GP_upload=true";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja no manual:

:seta: http://php.net/manual/en/function.eregi.php

 

As funções substituras são:

:seta: http://www.php.net/manual/en/ref.pcre.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim ouvi falar dessa função "preg_match".

 

E também, é EREGI. Existe também EREG, que só usa preg_match.

Parece que EREGI tem que usar mais uma coisa lá que eu não lembro.

 

Mas onde eu coloco ela no meu código??????

 

Veja no manual:

:seta: http://php.net/manual/en/function.eregi.php

 

As funções substituras são:

:seta: http://www.php.net/manual/en/ref.pcre.php

 

 

Vou tentar entender. Obrigada.

 

Poderia me dizer onde eu coloco preg_match e que alterações faço no meu codigo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não testei mas deve funcionar:

$GP_uploadAction = $_SERVER['PHP_SELF'];
if(isset($_SERVER['QUERY_STRING'])):
if(!preg_match("/GP_upload=true/i", $_SERVER['QUERY_STRING'])):
	$GP_uploadAction .= "?".$_SERVER['QUERY_STRING']."&GP_upload=true";
else:
	$GP_uploadAction .= "?".$_SERVER['QUERY_STRING'];
endif;
else:
$GP_uploadAction .= "?"."GP_upload=true";
endif;

Compartilhar este post


Link para o post
Compartilhar em outros sites

A diferença de ereg e eregi é que a última é case-INsensitiva.

Você pode configurar isso na própria ER através de flags:

preg_match('/[a-z]/i', $str);

Note o 'i' depois do delimitador

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não testei mas deve funcionar:

$GP_uploadAction = $_SERVER['PHP_SELF'];
if(isset($_SERVER['QUERY_STRING'])):
if(!preg_match("/GP_upload=true/i", $_SERVER['QUERY_STRING'])):
	$GP_uploadAction .= "?".$_SERVER['QUERY_STRING']."&GP_upload=true";
else:
	$GP_uploadAction .= "?".$_SERVER['QUERY_STRING'];
endif;
else:
$GP_uploadAction .= "?"."GP_upload=true";
endif;

O erro sumiu. Porém agora não está indo. E meu código está certo, ele funciona online em versão inferior de PHP e no Wamp com PHP 5 não.

 

Segue minhas alterações:

}
$GP_uploadAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
 if (!preg_match('/GP_upload=true/i', $_SERVER['QUERY_STRING'])) {
	$GP_uploadAction .= "?".$_SERVER['QUERY_STRING']."&GP_upload=true";
} else {
	$GP_uploadAction .= "?".$_SERVER['QUERY_STRING'];
}
} else {
 $GP_uploadAction .= "?"."GP_upload=true";
}

if (isset($editFormAction)) {
 if (isset($_SERVER['QUERY_STRING'])) {
  if (!preg_match('/GP_upload=true/i', $_SERVER['QUERY_STRING'])) {
 	  $editFormAction .= "&GP_upload=true";
	}
 } else {
   $editFormAction .= "?GP_upload=true";
 }
}

 

(São 2 eregi)

 

A diferença de ereg e eregi é que a última é case-INsensitiva.

Você pode configurar isso na própria ER através de flags:

preg_match('/[a-z]/i', $str);

Note o 'i' depois do delimitador

 

Entendi o funcionamento perfeitamente, obrigada.

 

Mas esse WAMP tá de brincadeira comigo, pois o código funciona perfeitamente online e no localhost não envia. A página só carrega de novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ai e pra faze Upload certo ?

 

talvez seu problema em Localhost não seja o preg_match - mais sim a parte de move_uploaded_file

 

num sei muito sobre o upload em localhost prq sempre uso FTP..

 

se não m engano tem que habilitar config extra no php.ini

 

Mais c ta funcionando Online ta otimo .. ruim qndo roda local e num pega onilne kkkkkkkk..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada, tinha um erro com o upload mesmo.

 

O código está certo.

 

Muito obrigada!

 

Problema resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A diferença de ereg e eregi é que a última é case-INsensitiva.

Você pode configurar isso na própria ER através de flags:

preg_match('/[a-z]/i', $str);

Note o 'i' depois do delimitador

[CHATO MODE ON]

 

Flags não, modificadores PCRE. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro Deprecated: Function eregi_replace() PHP 5.3

 

Preciso da ajuda dos amigos para que este erro seja superado.

 

function bbcode($text) {

 

$text=eregi_replace("\\[img\\](http://[^\\[]+)\\[/img\\]","<img src=\"\\1\" border=\"0\">",$text);

$text=eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]","<b>\\1</b>",$text);

$text=eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]","<i>\\1</i>",$text);

$text=eregi_replace("\\[u\\]([^\\[]*)\\[/u\\]","<u>\\1</u>",$text);

$text=eregi_replace("\\[email\\]([^\\[]*)\\[/email\\]","<a href=\"mailto:\\1\">\\1</a>",$text);

$text=eregi_replace("\\[url\\]www.([^\\[]*)\\[/url\\]","<a href=\"http://www.\\1\" target=\"_blank\">www.\\1</a>",$text);

$text=eregi_replace("\\[url\\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=\"_blank\">\\1</a>",$text);

$text=eregi_replace("\\+)\\]([^\\[]*)\\[/url\\]","<a href=\"http://www.\\1\" target=\"_blank\">\\2</a>",$text);

$text=eregi_replace("\\+)\\]([^\\[]*)\\[/url\\]","<a href=\"http://\\1\" target=\"_blank\">\\2</a>",$text);

$text=eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]","<i>\\1</i>",$text);

$text=eregi_replace("\\[u\\]([^\\[]*)\\[/u\\]","<u>\\1</u>",$text);

$text=eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]","<b>\\1</b>",$text);

return $text;

}

 

Desde já agradeço pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.