Jump to content


Photo

[Resolvido] Renomear Imagem Md5 Com ExtensãO


  • Faça o login para participar
6 replies to this topic

#1 buscaeu

buscaeu

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:São Paulo
  • Interesses:aprender

Posted 23/06/2010, 17:15

Olá pessoal boa noite!!
su iniciante em php. e gostaria da ajua de vocês!!
quando eu uso este cogigo da certo e a imagem é renomeada.
porem não fica a extensão ex .jpg, .gif, png.
quando eu coloco não em limitar extensão funciona normal porem gostaria que a foto fosse renomeada com a extensao.

Obrigado

segue abaixo o codigo

	$nome_arquivo = $file['name'];
    $tamanho_arquivo = $_FILES[$id_arquivo]['size'];
    $arquivo_temporario = $_FILES[$id_arquivo]['tmp_name'];
    	$nome_arquivo = md5($nome_arquivo);
	$nome_arquivo = "$x[id_usuario]_Image_site_".$nome_arquivo;
	

    if (!empty ($nome_arquivo))
    {
    	if ($sobrescrever == "nao" && file_exists("$caminho_absoluto/$nome_arquivo"))
    	{
            $erro = TRUE;
    		echo "Arquivo $nome_arquivo já existe.";
   		}

    	if (($limitar_tamanho == "sim") && ($tamanho_arquivo > $tamanho_bytes))
        {
            $erro = TRUE;
    		echo "Arquivo $nome_arquivo deve ter no máximo $tamanho_bytes bytes.";
   		}

    	$ext = strrchr($nome_arquivo,'.');
    	if ($limitar_ext == "sim" && !in_array($ext,$extensoes_validas))
    	{
            $erro = TRUE;
    		echo "Extensão do arquivo $nome_arquivo inválida para upload.";
   		}

Edição feita por: buscaeu, 23/06/2010, 17:17.


#2 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 23/06/2010, 18:42

Nessa linha ...
você está usando criptografia no nome todo da imagem...

$nome_arquivo = md5($nome_arquivo);


Da mesma forma como vc tira a extensão no final para verificar se o arquivo é válido... você retira a extensão antes de criptografar o arquivo e criptografa somente o nome do arquivo e depois você coloca a extensão de novo no arquivo antes de salvar.

Tenta ae

(y)
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 buscaeu

buscaeu

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:São Paulo
  • Interesses:aprender

Posted 24/06/2010, 10:03

Olá André obriado mais eu sou muito inicinte em php¹¹¹


cmo ficaria o codigo???

pesqisei pra caramba antes de postar esta duvida

Nessa linha ...
você está usando criptografia no nome todo da imagem...

$nome_arquivo = md5($nome_arquivo);


Da mesma forma como vc tira a extensão no final para verificar se o arquivo é válido... você retira a extensão antes de criptografar o arquivo e criptografa somente o nome do arquivo e depois você coloca a extensão de novo no arquivo antes de salvar.

Tenta ae

(y)



#4 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 24/06/2010, 11:04

Bem olha só ...

Vamos ao ponto principal da aprendizagem web... e isso é para qualquer linguagem...
Você precisa ler... ler bastante e praticar para ganhar experiência e conseguir resolver vários problemas sozinhos... que com certeza você ainda irá enfrentar.

Neste caso, você precisa aprender mais sobre strings e sobre criptografia...
Dois assuntos muito interessantes para vc estudar.

STRINGS


Existem diversas funções para manipulação de strings uma delas é a função explode.

Você precisa dividir o nome da imagem da extensão, criptografar o nome e concatenar o nome com a extensão novamente:

<?php 
//nome da imagem
    $img = "imagem.jpg";
    $array = explode('.',$img);
    $nome_arquivo = md5($array[0]);
    $nome_arquivo .= $array[1];
?>


E não se esqueça ... ler sempre.

(y)
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#5 buscaeu

buscaeu

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:São Paulo
  • Interesses:aprender

Posted 24/06/2010, 13:47

olá amigão obrigado pela dica deu quase certo so faltu um ponto

olha só o erro

O arquivo bf19122987928493131d5bf846637fbcjpg não pôde ser copiado para o servidor.


acho que faltou o ponto

onde fi que eu errei???


<?php 
//nome da imagem
    $img = "imagem.jpg";
    $array = explode('.',$img);
    $nome_arquivo = md5($array[0]);
    $nome_arquivo .= $array[1];
?>


#6 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 24/06/2010, 15:39

OPs...

Esqueci o ponto :wacko:

<?php 
//nome da imagem
    $img = "imagem.jpg";
    $array = explode('.',$img);
    $nome_arquivo = md5($array[0]);
    $nome_arquivo .= "." . $array[1];
?>

;)
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#7 buscaeu

buscaeu

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:São Paulo
  • Interesses:aprender

Posted 28/06/2010, 09:47

cara você é dezzzz
o codigo ficou asssim

fuincionou perfeitamente!!!!!
Muito obrigado vc é dez mais não você é mil!!!

é bom saber que tem gente ajudando a gente!1!
vou estudar muito abraços!!!


	$nome_arquivo = $file['name'];
    $tamanho_arquivo = $_FILES[$id_arquivo]['size'];
    $arquivo_temporario = $_FILES[$id_arquivo]['tmp_name'];
	//nome da imagem
	$img = "imagem.jpg";
	$array = explode('.',$img);
	$nome_arquivo = md5($array[0]);
	$nome_arquivo .= "." . $array[1];

olá amigo tudo bem sou eu novamente!!! só tem um prblema todos os arquivos estão ganhando este mesmo nome . bf19122987928493131d5bf846637fbc.jpg

obrigado!!!!

pq isso acontece?????

[quote name='André Manoel' date='24/06/2010, 15:39' timestamp='1277404743' post='1000723']
OPs...

Esqueci o ponto :wacko:

<?php 
//nome da imagem
    $img = "imagem.jpg";
    $array = explode('.',$img);
    $nome_arquivo = md5($array[0]);
    $nome_arquivo .= "." . $array[1];
?>

;)
[/quote]

[quote]
<?php
//nome da imagem
$img = "imagem.jpg";
$array = explode('.',$img);
$nome_arquivo = md5($array[0]);
$nome_arquivo .= "." . $array[1];
?>

[/quote]

[quote]

$img = "imagem.jpg";

[/quote]

a imagem tem sempre o mesmo nome e aparece varias imagens

quando eu altero esta linha descrita acima ai sim o nome da imagem muda eu estou achando que o md5 ta cryptografando o nome imagem.jpg

eu acho obrigado pela ajuda!!!

[quote name='buscaeu' date='26/06/2010, 13:46' timestamp='1277570772' post='1000726']
cara você é dezzzz
o codigo ficou asssim

fuincionou perfeitamente!!!!!
Muito obrigado vc é dez mais não você é mil!!!

é bom saber que tem gente ajudando a gente!1!
vou estudar muito abraços!!!


	$nome_arquivo = $file['name'];
    $tamanho_arquivo = $_FILES[$id_arquivo]['size'];
    $arquivo_temporario = $_FILES[$id_arquivo]['tmp_name'];
	//nome da imagem
	$img = "imagem.jpg";
	$array = explode('.',$img);
	$nome_arquivo = md5($array[0]);
	$nome_arquivo .= "." . $array[1];





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq