Autor Tópico: Trocar nome da imagem quando fazer upload  (Lida 449 vezes)

Luis_Henrique

  • Novato
  • *
  • Mensagens: 19
    • Email
Trocar nome da imagem quando fazer upload
« Online: Junho 13, 2016, 08:52:42 am »
Bom dia, estou fazendo uma aplicação e tenho um campo onde faço upload de imagens, uso o campo Imagem(Nome do Arquivo), nome dela e gravada no banco de dados e salva em uma pasta no servidor. Gostaria de poder mudar no nome dessa imagem antes de gravar no servidor e no banco de dados. Alguém conhece alguma forma que posso fazer isso?

Muito obrigado!

Ronyan Alves

  • Administrator
  • Avançado
  • *****
  • Mensagens: 353
Re:Trocar nome da imagem quando fazer upload
« Responder #1 Online: Junho 13, 2016, 09:02:00 am »
Utiliza a função "rename" do php :  http://php.net/manual/pt_BR/function.rename.php
E a macro sc_exec_sql, para alterar o nome na coluna da tabela, referente ao registro inserido.
Isso tudo no evento OnAfterInsert.
--

Ronyan Alves
Equipe Scriptcase

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Trocar nome da imagem quando fazer upload
« Responder #2 Online: Junho 13, 2016, 10:33:34 am »
Pode-se fazer assim para ter um maior controle:


Mudar Nome do arquivo antes do UPLOAD

no evento onScriptInit eu recuperei o diretório onde o arquivo seria armazenado com
Código: [Selecionar]
$dir_app = $_SESSION['scriptcase']['app_form_tbl_documentos']['glo_nm_path_doc']."/";

Método usado para retirar os acentos
Código: [Selecionar]
/*
 * Método responsável por retirar letras acentuadas
 * @author Marcelo Gomes (MGSistemas - marcelo.gomes@mgsistemas.com.br)
 * @copyright 2014 - MG Consultoria em Informática
 * @param str - string a ser convertida
 * return str - string convertida
 */

function mg_utils_retiraAcento($str)
{
   $str = str_replace("á","a",$str);
   $str = str_replace("Á","a",$str);
   $str = str_replace("é","e",$str);
   $str = str_replace("É","e",$str);
   $str = str_replace("ç","c",$str);
   $str = str_replace("Ç","c",$str);
   $str = str_replace("ã","a",$str);
   $str = str_replace("Ã","a",$str);
   $str = str_replace("õ","o",$str);
   $str = str_replace("Õ","o",$str);
   $str = str_replace("ê","e",$str);
   $str = str_replace("Ê","e",$str);
   $str = str_replace("ú","u",$str);
   $str = str_replace("Ú","u",$str);
   $str = str_replace("ó","o",$str);
   $str = str_replace("Ó","o",$str);
   $str = str_replace("í","i",$str);
   $str = str_replace("â","a",$str);
   $str = str_replace("Â","a",$str);
   $str = str_replace("Í","i",$str);
   return $str;
}   

No evento onValidadeSucess, implementei o seguinte código que será executado antes do update, assim o arquivo que será submetido ao diretório e ao upload já vai com o nome trocado e ajustado.
Código: [Selecionar]
   {url_documento} = str_replace(" ","",{url_documento});    // Retira todos os espaços em branco
   {url_documento} = mg_utils_retiraAcento({url_documento}); // Utiliza o método para retirar os caracteres acentuados


UPLOAD LIMITAR TAMANHO DO ARQUIVO ENVIADO:

Limitar tamanho arquivo UPLOAD (Pré Validação)

AUTOMATICO PELO SC:
O campo já existe no formulário, em "Aplicação > Configuração"
Há o item "Tamanho máximo do arquivo".   
   
MANUALMENTE PELO PHP (No evento > onApplicationInit)
// Checar:
echo ini_get('upload_max_filesize').'<br/>';
// Configurar
ini_set( 'upload_max_size' , '2M' );
ini_set( 'post_max_size', '2M');
ini_set( 'max_execution_time', '300' );    
« Última modificação: Junho 13, 2016, 10:45:46 am por Jailton »
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Celso R.

  • Expert
  • *****
  • Mensagens: 941
Re:Trocar nome da imagem quando fazer upload
« Responder #3 Online: Junho 13, 2016, 01:08:22 pm »
Ai Jailton.
Essa é uma resposta completa que ajuda em muito a comunidade.
Parabéns.
Celso R.
________________________________
SC - V 8