Ir para conteúdo

POWERED BY:

Arquivado

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

renatagramos

[Resolvido] Função eregi

Recommended Posts

Olá, pessoal!

 

Estou de volta com uma dúvida:

 

 

Uso função eregi para upload e está dando um erro de que é obsoleto:

Deprecated: Function eregi() is deprecated in /home/escal/www/vendas/sql_cotacao.php on line 58

 

Pior que uso isso em outro sistema e funciona normal.

 

Outro problema é que preciso que seja feito upload de outras extensões (pdf, docx, etc..) e não sei a sintaxe para isso. Se eu tirar a palavra "image" ele só aceita alguns formatos, não todos que preciso, mesmo definido-os entre ().

 

if(!eregi("^image\/(jpeg|png|gif|pjpeg|jpg)$", $_FILES['cot_arq']['type'])){

 

Alguém pode me ajudar???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troca por 'preg_match' .

if( ! preg_match( '/^image\/(jpeg|png|gif|pjpeg|jpg)$/' , $_FILES[ 'cot_arq' ][ 'type' ] ) ){
     ...
}

 

Quanto aos outros tipos de arquivos, faça assim:

if( ! preg_match( '/\.(docx|jpg|png)+$/' , $_FILES[ 'cot_arq' ][ 'name' ] ) ) {

 

Adicione o resto das extensões que serão permitidas na expressão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só pra constar, a função eregi é case insensitive, portanto, a flag i deve estar na regexp.

if( ! preg_match( '/^image\/(jpeg|png|gif|pjpeg|jpg)$/i' , $_FILES[ 'cot_arq' ][ 'type' ] ) ){

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Obrigada pela rápida resposta.

 

 

Mudei e agora ocorre o seguinte erro:

 

Warning: preg_match(): Unknown modifier '$' in /home/escal/www/vendas/sql_cotacao.php on line 58

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Obrigada pela rápida resposta.

 

 

Mudei e agora ocorre o seguinte erro:

 

Warning: preg_match(): Unknown modifier '$' in /home/escal/www/vendas/sql_cotacao.php on line 58

 

Tá faltando as barras na regexp...

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troca por 'preg_match' .

if( ! preg_match( '/^image\/(jpeg|png|gif|pjpeg|jpg)$/' , $_FILES[ 'cot_arq' ][ 'type' ] ) ){
     ...
}

 

Quanto aos outros tipos de arquivos, faça assim:

if( ! preg_match( '/\.(docx|jpg|png)+$/' , $_FILES[ 'cot_arq' ][ 'name' ] ) ) {

 

Adicione o resto das extensões que serão permitidas na expressão.

 

 

Oi, Andrey Knupp!

 

Teste a sua função e parece que funcionou bem. Estou fazendo mais alguns testes e já te escrevo de novo.

 

Obrigada!!!

 

Só pra constar, a função eregi é case insensitive, portanto, a flag i deve estar na regexp.

if( ! preg_match( '/^image\/(jpeg|png|gif|pjpeg|jpg)$/i' , $_FILES[ 'cot_arq' ][ 'type' ] ) ){

 

[]'s

 

 

Oi, Fvox!

 

Você tem razão... Antes tentei inserir o arquivo "imagem.JPG"(maiúscula) (só era permitido .jpg) e dava erro de formato, agora entrou normal.

 

Muito obrigada pela dica! :D

 

[RESOLVIDO]

 

Amigos, funcionou!!!

 

Está perfeito!

 

MUITO obrigada pelas dicas.

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.