Trocar nome da imagem quando fazer upload

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!

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.

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’).’
’;
// Configurar
ini_set( ‘upload_max_size’ , ‘2M’ );
ini_set( ‘post_max_size’, ‘2M’);
ini_set( ‘max_execution_time’, ‘300’ );

1 Curtida

Ai Jailton.
Essa é uma resposta completa que ajuda em muito a comunidade.
Parabéns.

[quote=“Jailton, post:3, topic:18052”]
glo_nm_path_doc
[/quote

Alguém tentou, e funcionou?