Jump to content
Marxrj

Alterar nome da imagem ao cadastrar

Recommended Posts

Olá, estou usando a função do Dropzone para fazer o upload de imagens, mas queria que ele renomeasse a imagem.

Se faço o upload de uma imagem com nome casa.jpg e depois uso uma imagem diferente com o mesmo nome, ele simplesmente mostra a imagem anterior.

 

Queria uma ajuda então para tentar resolver isso, no código que tenho, saber aonde posso alterar, para usar alguma função md5 por exemplo

segue meu código:

<?php
if (! empty($_FILES)) {
    $imagePath = isset($_FILES["file"]["name"]) ? $_FILES["file"]["name"] : "Undefined";
    $targetPath = "uploads/";
    $imagePath = $targetPath . $imagePath;
    $tempFile = $_FILES['file']['tmp_name'];
    
    $targetFile = $targetPath . $_FILES['file']['name'];
    
    if (move_uploaded_file($tempFile, $targetFile)) {
        echo "true";
    } else {
        echo "false";
    }
}
if (! empty($_GET["action"]) && $_GET["action"] == "save") {
    session_start();
include_once("database/conexao.php");
    print $sql = "INSERT INTO images_info (image_path) VALUES ('" . $imagePath . "')";
    mysqli_query($conn, $sql);
    $current_id = mysqli_insert_id($conn);
}
?>

 

Share this post


Link to post
Share on other sites

Utilize-se dessa minha classe:

https://github.com/Spell-Master/sm-web/blob/master/exemplos/corte-e-salvamento-de-imagens/ImageUpload.php

 

Exemplo de uso:

$Upload = new ImageUpload('diretorio_para_salvar/'); // Local onde você quer salvar as imagens
$Upload->sendImage($_FILES['** ARQUIVO **'], 'nome_para_imagem'); // O arquivo com o nome que desejar

Lógico que "** ARQUIVO **" o name do input de envio

Se você não especificar um diretório de salvamento a classe vai criar um no mesmo local onde ela está com o nome de "upload"

Para registrar o banco de dados resgate no nome da imagem usando o método "getImgName()"

 

Exemplo na prática:

Spoiler

<?php
require 'ImageUpload.php';

$filter = filter_input_array(INPUT_POST, FILTER_DEFAULT);

if ($filter && $filter['envio']) {
    $Upload = new ImageUpload('diretorio_para_salvar/');
    $Upload->sendImage($_FILES['image'], 'nome_para_imagem');
    if ($Upload->getResult()) {
        echo "Enviou<hr> O nome salvo é: {$Upload->getImgName()}, use esse nome para gravar no banco de dados";
    } else {
        echo "Qualquer documentação para erro no envio<hr>";
    }
}
?>
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="image" accept=".jpg,.jpeg" />
    <br>
    <input type="submit" name="envio" value="Enviar Arquivo">
</form>

 

 

Share this post


Link to post
Share on other sites
3 horas atrás, Omar~ disse:

Utilize-se dessa minha classe:

https://github.com/Spell-Master/sm-web/blob/master/exemplos/corte-e-salvamento-de-imagens/ImageUpload.php

 

Exemplo de uso:


$Upload = new ImageUpload('diretorio_para_salvar/'); // Local onde você quer salvar as imagens
$Upload->sendImage($_FILES['** ARQUIVO **'], 'nome_para_imagem'); // O arquivo com o nome que desejar

Lógico que "** ARQUIVO **" o name do input de envio

Se você não especificar um diretório de salvamento a classe vai criar um no mesmo local onde ela está com o nome de "upload"

Para registrar o banco de dados resgate no nome da imagem usando o método "getImgName()"

 

Exemplo na prática:

  Mostrar conteúdo oculto


<?php
require 'ImageUpload.php';

$filter = filter_input_array(INPUT_POST, FILTER_DEFAULT);

if ($filter && $filter['envio']) {
    $Upload = new ImageUpload('diretorio_para_salvar/');
    $Upload->sendImage($_FILES['image'], 'nome_para_imagem');
    if ($Upload->getResult()) {
        echo "Enviou<hr> O nome salvo é: {$Upload->getImgName()}, use esse nome para gravar no banco de dados";
    } else {
        echo "Qualquer documentação para erro no envio<hr>";
    }
}
?>
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="image" accept=".jpg,.jpeg" />
    <br>
    <input type="submit" name="envio" value="Enviar Arquivo">
</form>

 

 

Acho que não entendeu, todas as imagens ficm no mesmo diretório, o que preciso é gravar a imagem com nomes aleatórios, isso se faz com o md5, mas não sei ali aonde inserir a função, para na hora de cadastrar uma imagem como o nome casa,.jpg ela grave com o nome 06hgd645gkdmxid.jpg por exemplo.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Sapinn
      Galera pergunta rápida eu adicionei em um coluna sem querer o fulltext como faço para remover ???
    • By terra
      Olá,
      aqui a parte de um var_dump de uma variavel $result, preciso pegar somente o title, tentei:
      $result->title
      $result[0]->title
      $result[0]['title']
      string(1846) "{"result":{"title":"ALMOXARIFE I","company":"","rating":"4","reviews_count":"1242" agradeço qualquer ajuda.
    • By Lenon John
      Simulador de Frete
      Endpoint: https://www.jadlog.com.br/embarcador/api/frete/valor/
      Metodo: POST

      Header:
      Content-Type: application/json
      Authorization: <token>
       
      Código do simulador de frete:
      { "frete": [ { "cepori": "06233200", "cepdes": "17213580", "frap": null, "peso": 13.78, “cnpj”: “12345678901234”, "conta": "000001", "contrato": "123", "modalidade": 3, "tpentrega": "D", "tpseguro": "N", "vldeclarado": 149.97, "vlcoleta": null } ]
    • By Jack Oliveira
      Ola pessoal boa noite a todos...
      Estou tendo uma dificuldade em passar a url que esta sendo digitada no nagevador
      Ou seja uma das url ate que passa, porem as demais url não mostra sempre a mesma pagina que foi aberta
      Creio que seria um tipo de conflitos
      por exemplo: se eu acessar a seguinte url
      Ex1: meusite.com/sao-paulo/list/minha-empresa-aqui/
      e se eu acessar outra url com o mesmo no da empresa da seguinte forma
      Ex2: meusite.com/sao-paulo/catalogo/minha-empresa-aqui/
      ela teria que mostrar o que esta no EX2 mais porem fica na pagina do EX1 mais com a url no navegador do Ex2
      Bom e tbm preciso passar os paramentros da pagina de pesquisa 
      ou fazer uma busca a url me retorna a seguinte forma
      EX3: meusite.com/buscar/?search_string=mercados&cidade=sao-paulo
      e quero que seja mostrar desta forma, 
      EX4: meusite.com/sao-paulo/buscar/mercados/
      caso tenha paginação ela ficar assim ao pegar paginação meusite.com/sao-paulo/buscar/mercados/12/
      Ou seja o que preciso é que não importar quanto paramentros seja queria que mostrasse conforme mostra no comentario do PHP
      segue o código logo a baixo com htaccess
      Talvez seja até coisa simples de se resolver ou pode ser eu fazendo da forma incorreta aqui...
       
      HTACCESS
       
      RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [NC,L] INDEX.PHP
       
      <?php ob_start(); session_cache_expire(60); //session_start(); if (!file_exists('CPANELUSER/database/config.php')) { header("Location: CPANELUSER/setup.php"); } else { require_once ('CPANELUSER/database/config.php'); } require_once ('CPANELUSER/database/config.painel.php'); require_once ('CPANELUSER/database/config.database..php'); require_once ('CPANELUSER/database/config.session.php'); require_once ('CPANELUSER/includes/funcoes.php'); // Obtendo o URL dos arquivos atual //$page = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1); function UrlAmigavelPHP(){ if(isset($_GET['url'])) { $url = $_GET['url'] ? $_GET['url'] : "home"; //$search_string = $_GET['search_string'] ? $_GET['search_string'] : "home"; //$cidade = $_GET['cidade'] ? $_GET['cidade'] : "home"; //var_dump($url); //var_dump($search_string); //var_dump($cidade); $UrlFormatada = explode('/', $_SERVER['REQUEST_URI']); if(empty($UrlFormatada[1])) { $URL1 = ''; }else{ $URL1 = ''.$UrlFormatada[1].'/'; } if(empty($UrlFormatada[2])) { $URL2 = ''; }else{ $URL2 = ''.$UrlFormatada[2].'/'; } if(empty($UrlFormatada[3])) { $URL3 = ''; }else{ $URL3 = ''.$UrlFormatada[3].'/'; } if(empty($UrlFormatada[4])) { $URL4 = ''; }else{ $URL4 = ''.$UrlFormatada[4].'/'; } if(empty($UrlFormatada[5])) { $URL5 = ''; }else{ $URL5 = ''.$UrlFormatada[5].'/'; } if(empty($UrlFormatada[6])) { $URL6 = ''; }else{ $URL6 = ''.$UrlFormatada[6].'/'; } //Passando a url completa $Paramentros = ''.$URL1.''.$URL2.''.$URL3.''.$URL4.''.$URL5.''.$URL6.''; }else{ $url = 'home'; } switch($url) { //HOME case 'home'; include_once('directory-home.php'); //meusite.com/cidade-principal/ que vai aparecer no index.php break; //LISTAGEM case $Paramentros; include_once('directory-listagem.php'); //meusite.com/cidade-principal/list/nome-de-uma-empresa/ break; //CATALOGO case $Paramentros; $Query = DBRead('directory_cidades','*',"WHERE status='1' AND slug='".GetUrlBasecidade."'")[0]; $TblEmpresa = DBRead("directory_listing","*","WHERE slug='".GetUrlBase."' AND cidade='{$Query['titulo']}'"); if (is_array($TblEmpresa)) { foreach ($TblEmpresa as $Empresa) { extract($Empresa); $titles = ''.trim(mb_convert_case($titulo, MB_CASE_TITLE, "UTF-8")).' | '.trim(mb_convert_case(ConfigPainel("site_nome"), MB_CASE_TITLE, "UTF-8")).''; $getId = $id; $getu = $id_user; //Url Menu Lateral das Empresas $CidadeUrl = ''.ConfigPainel("site_url").''.GetUrlBasecidade.'/'; $UrlEmpresa = ''.$CidadeUrl.'list/'.GetUrlBase.'/'; $UrlCatalogo = ''.$CidadeUrl.'catalogo/'.GetUrlBase.'/'; $UrlPortfolio = ''.$CidadeUrl.'portfolio/'.GetUrlBase.'/'; $UrlEventos = ''.$CidadeUrl.'agenda/'.GetUrlBase.'/'; $UrlClassificados = ''.$CidadeUrl.'vagas/'.GetUrlBase.'/'; $UrlContato = ''.UrlAmigavel($menu5).''; //Pegando os ids switch ($Empresa['id_destaque']) { case '5': $index_seo = ''; break; case '4': $index_seo = 4; break; case '3': $index_seo = 3; break; case '2': $index_seo = 2; break; case '1': $index_seo = 1; break; case '0': $index_seo = 0; break; } $Query = DBRead('directory_itens','*',"WHERE status='1' AND user_id='{$getu}' ORDER BY nome_item ASC LIMIT 100"); $NomeCity =''.$cidade.''; define("METAKEYWORD", $palavra_chave); define("METADESCRIPTION", $frase); define("METATITLE", ''.(!empty($definir) ? 'Cardápio | '.LetraMaiuscula($titulo) : 'Catálogo | '.LetraMaiuscula($titulo).'').' | '.ConfigPainel("site_nome").''); //1 Cardápio > 2 Catálogo > 3 Imóveis > 4 Produtos //Configuração $QueryEmpresa = DBRead('directory_listing','*',"WHERE id_user='{$getu}' ORDER BY id LIMIT 1")[0]; //company-product $QueryItemCount = DBRead('directory_itens','*', "WHERE status= '1' AND user_id='{$getu}' ORDER BY nome_item")[0]; if($definir == 1) { $Menu1 = $QueryEmpresa['menu1']; if($QueryItemCount['user_id'] == $getu) { $Status1 = 1; //1 Ativo }else{ $Status1 = 0; //0 Inativo } $Icone = 'fa-cutlery'; }elseif($definir == 2) { $Menu1 = $QueryEmpresa['menu1']; if($QueryItemCount['user_id'] == $getu) { $Status1 = 1; //1 Ativo }else{ $Status1 = 0; //0 Inativo } $Icone = 'fa-shopping-bag'; }elseif($definir == 3) { $Menu1 = $QueryEmpresa['menu1']; if($QueryItemCount['user_id'] == $getu) { $Status1 = 1; //1 Ativo }else{ $Status1 = 0; //0 Inativo } $Icone = 'fa-home'; }elseif($definir == 4) { $Menu1 = $QueryEmpresa['menu1']; if($QueryItemCount['user_id'] == $getu) { $Status1 = 1; //1 Ativo }else{ $Status1 = 0; //0 Inativo } $Icone = 'fa-product-hunt'; } //company-portfolio $QueryPorCount = DBRead('directory_portifolio','*', "WHERE status= '1' AND id_user = '{$getu}' ORDER BY id")[0]; $Menu2 = $QueryEmpresa['menu2']; if($QueryPorCount['id_user'] == $getu) { $Status2 = 1; //1 Ativo }else{ $Status2 = 0; //0 Inativo } //company-events $Menu3 = $QueryEmpresa['menu3']; $QueryAgCount = DBRead('directory_agenda','*', "WHERE status= '1' AND idempresa = '{$getId}'")[0]; if($QueryAgCount['idempresa'] == $getId) { $Status3 = 1; //1 Ativo }else{ $Status3 = 0; //0 Inativo } //company-blog $QueryNumBlog = DBRead('directory_emprego','*',"WHERE status='1' AND id_empresa = '{$getId}'")[0]; $Menu4 = $QueryEmpresa['menu4']; if($QueryNumBlog['id_empresa'] == $getId) { $Status4 = 1; //1 Ativo }else{ $Status4 = 0; //0 Inativo } //company-contact $Menu5 = $QueryEmpresa['menu5']; define("METAURL", "".ConfigPainel("site_url")."".$UrlCatalogo.""); define("METAIMAGEM", "".ConfigPainel("site_url")."assets/".GetUrlBase."/".$logo.""); if (empty($index_seo)) { define("METAINDEXAR", "noall, noindex, nofollow"); //noall, noindex, nofollow //Redireciona(ConfigPainel("site_url")); }else{ define("METAINDEXAR", "all, index, follow"); //all, index, follow } } } else{ //Redireciona(''.ConfigPainel("site_url").''.UrlAmigavel($cidade).'/'); } require_once('Inc/hora.php'); $diasemana = array('Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sabado'); $data = date('Y-m-d'); $diasemana_numero = date('w', strtotime($data)); $diadehoje = $diasemana[$diasemana_numero]; //$todososdias = 'null'; include_once('directory-catalogo.php');//meusite.com/cidade-principal/catalogo/nome-de-uma-empresa/ break; //PORTFOLIO case $Paramentros; include_once('directory-portfolio.php');//meusite.com/cidade-principal/portfolio/nome-de-uma-empresa/ break; //AGENDA case $Paramentros; include_once('directory-agenda.php');//meusite.com/cidade-principal/agenda/nome-de-uma-empresa/ break; //BLOG case $Paramentros; include_once('directory-blog.php');//meusite.com/cidade-principal/vagas/nome-de-uma-empresa/ break; //PESQUISAR case $Paramentros; include_once('directory-buscar.php');//meusite.com/cidade-principal/buscar/loja/ break; //SOBRE case $Paramentros; include_once('directory-sobre.php');//meusite.com/cidade-principal/sobre/ break; //PLANO case $Paramentros; include_once('directory-plano.php');//meusite.com/cidade-principal/plano/ break; //CONTATO case $Paramentros; include_once('directory-contato.php');//meusite.com/cidade-principal/contato/ break; default; include_once('directory-404.php'); break; } } UrlAmigavelPHP(); ?> Perdoa se ficou muito grande os codigo ai na parte do catalogo coloquei para poder ver como estou recendo os paramentros
       
      Desde já fico no guardo se alguém puder dar uma idiea ai
    • By Lenon John
      Detalhe importante:
      Se eu digito MINHA_CHAVE_JADLOG incorreta, ai eu recebo um retorno informado que as credenciais estão incorretas.
      Se eu digito MINHA_CHAVE_JADLOG corretamente, não recebo nenhum retorno.

      $dados = [
        'frete' => [
          'cepori' => '29010070',
          'cepdes' => '29300040',
          'frap' => '',
          'peso' => 2,
          'cnpj' => '00000000000100',
          'conta' => '000001',
          'contrato' => '',
          'modalidade' => 4,
          'tpentrega' => 'D',
          'tpseguro' => 'N',
          'vldeclarado' => 100,
          'vlcoleta' => ''
        ]
      ];
      $postfields = http_build_query($dados);
       
      $header = array();
      $header[] = 'Authorization: Bearer MINHA_CHAVE_JADLOG';
      $header[] = 'Content-Type: application/json';
      $header[] = 'description:';
       
      $curl = curl_init('https://www.jadlog.com.br/embarcador/api/frete/valor/');
      curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
      curl_setopt($curl, CURLOPT_POST, true);
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
       
      $exec = curl_exec($curl);
      $jadlog = json_decode($exec);
       
      curl_close($curl);
       
      print_r($jadlog);
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.