Ir para conteúdo
Rafael Freitas

Renomear imagem no upload

Recommended Posts

Boa tarde galera,

Eu tenho o seguinte código para fazer upload de imagem para uma determinada pasta no servidor.

$nome_temporario=$_FILES["arquivo"]["tmp_name"];
$nome_real=$_FILES["arquivo"]["name"];
copy($nome_temporario,"arq_mf_eletronico/$nome_real");

Ele está funcionando normalmente, faz o upload e guarda o caminho da imagem no banco de dados ou seja arq_mf_eletronico/nome da imagem, porém eu precisava que ele também mudasse o nome da imagem, para que não se repita o nome do arquivo na pasta do servidor.

A pergunta  é: como eu faria isso?

 

Ainda não tenho muito conhecimento.

Conto com a ajuda de vocês.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites
$ext = strtolower(substr($imagens['name'][$i], -4)); // pega a extensão
$foto = md5(uniqid($imagens['name'])).$ext; // renomeia com a extensão
$dir = "fotos/"; // indica o diretório
move_uploaded_file($imagens['tmp_name'], $dir.$foto); // move o arquivo renomeado para o diretório

Renomeia com um código MD5 único.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Marcos,

Certo, no caso, qual seria a variavel que eu usaria pra gravar no banco? Que seria o caminho.

No momento tá assim:

"INSERT INTO mfe (arquivo) VALUES ('arq_mf_eletronico/$arquivo')";

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por jmggames
      boa noite, estou com um script de upload de imagens, que após fazer o upload, ele finaliza com uma miniatura da imagem que acabou de ser enviada.
      porem alem de mostrar a miniatura da imagem, eu gostaria que mostrasse também um link gerado do upload da imagem, para que a pessoa que fez o upload, pegue o link e guarde para poder chegar ate a imagem futuramente.
      eu gostaria que o link fosse gerado logo após a mensagem "imagem enviada com sucesso!"  alguém pode me ajudar?
      script do site:
       
      <html>
      <head>
       <title>Upload de imagens</title>
       <meta charset="utf-8">
       <meta name="viewport" content="width=device-width, initial-scale=1">
       <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
       <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
       <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
      </head>
      <body>
      <div class="container">
      <h2><strong>Envio de imagens</strong></h2><hr>
      <form method="POST" enctype="multipart/form-data">
        <label for="conteudo">Enviar imagem:</label>
        <input type="file" name="pic" accept="image/*" class="form-control">
        <div align="center">
          <button type="submit" class="btn btn-success">Enviar imagem</button>
        </div>
      </form>
       
       <hr>
       
       <?php
       if(isset($_FILES['pic']))
       {
          $ext = strtolower(substr($_FILES['pic']['name'],-4)); //Pegando extensão do arquivo
          $new_name = date("Y.m.d-H.i.s") . $ext; //Definindo um novo nome para o arquivo
          $dir = './imagens/'; //Diretório para uploads
       
          move_uploaded_file($_FILES['pic']['tmp_name'], $dir.$new_name); //Fazer upload do arquivo
          echo '<div class="alert alert-success" role="alert" align="center">
                <img src="./imagens/' . $new_name . '" class="img img-responsive img-thumbnail" width="200"> 
                <br>
                Imagem enviada com sucesso!
                <br>
                <a href="exemplo_upload_de_imagens.php">
                <button class="btn btn-default">Enviar nova imagem</button>
                </a></div>';
       } ?>
      </div>
      <body>
      </html>
       

    • Por jmggames
      bom dia, eu tinha uns anos atras um script de upload de imagens que depois de fazer o envio do upload, ele gerava um link para a pessoa ter acesso a essa imagem, como em um site de upload normal, porem eu acabei perdendo o script, e por ter anos, acho que a pagina onde estava não existe mais.
      gostaria de saber se alguém pode me ajudar com esse script.
    • Por joaon77@yahoo.com.br
      Olá pessoal!
      Criei um menu usando listas não ordenadas (ul, li) com as imagens dispostas horizontalmente. São quatro imagens. O problema é que uma das imagens aparece duplicada no layout. Não entendi. Segue o código:
      ... <span class="menuRedesSociais"> <ul> <li id="img1"><a href="#"</a></li> <li id="img2"><a href="#"></a></li> <li id="img3"><a href="#"></a></li> <li id="img4"><a href="#"></a></li> </ul> </span> span ul { margin: 0; padding: 0; } span li { list-style: none; display: inline-block; } span a:link, a:visited { padding: 15px; } li#img1 a{ background-image: url("#img1"); background-repeat: no-repeat; } li#img2 a{ background-image: url("#img2"); background-repeat: no-repeat; } li#img3 a{ background-image: url("#img3"); background-repeat: no-repeat; } li#img4 a{ background-image: url("#img4"); background-repeat: no-repeat; } A imagem que aparece duplicada é a img2. Obs. Já fiz o teste trocando a posição das imagens, só que o problema continua.
       
      Agradeço muito se alguém puder me ajudar.
       
    • Por Raphaeldidata
      Vamos supor que eu coloque uma logomarca no topo do meu site, e queira dar semântica à ela. Tudo bem se eu fizer dessa forma? Existe uma maneira mais simples?
       
      Basicamente criei um cabeçalho para minha logomarca, de forma a dar importância e contexto para que o "robo" do Google, por exemplo, tenha mais facilidade em interpretar o "conteúdo" da minha imagem e conseguir catalogá-la adequadamente em seu motor de buscas. 
      span.td-visual-hidden { display: none; } <div class="td-header-logo"> <h1 class="td-logo"> <a href="#"> <img src="_images/defesa-evangelho.png" alt="Defesa do Evangelho" title="Defesa do Evangelho"/> <span class="td-visual-hidden">Defesa do evangelho</span> </a> </h1> </div> Desde já agradeço!
    • Por rodrigoalgeri
      BOA NOITE
      OLHA ISSO onde esta escrito isso aqui "Health star ratings Kellogg reveals the cereal Rodrigo Algeri", tem uma pequena imagem em cima se voce perceber ela e uma imagem redonda so que nao aparece inteira voce sabe algum jeito pra aparecer ? tipo ela tem que ficar 75px altura e largura a altura fica, so que ela corta, EU GOSTARIA QUE FICASSE UM QUADRADO TIPO 75PX X
      75PX E ISSO E PRA FICAR EM TODAS ESSAS IMAGENS AI QUE TEM 

×

Informação importante

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