TFile, joga na pasta /tmp Bom dia, tive um problema com TFile, e gostaria de saber se alguém saberia como eu faço para resolver, o TFile quando busca o arquivo ele joga na pasta tmp, só que quando vários usuários estão ao mesmo tempo cadastrando e anexando exemplo documento com foto, e este tem o mesmo nome ex. CHN.PDF, ou seja aquivo com mesmo nome. identicos ...
RS
TFile, joga na pasta /tmp  
Bom dia, tive um problema com TFile, e gostaria de saber se alguém saberia como eu faço para resolver, o TFile quando busca o arquivo ele joga na pasta tmp, só que quando vários usuários estão ao mesmo tempo cadastrando e anexando exemplo documento com foto, e este tem o mesmo nome ex. CHN.PDF, ou seja aquivo com mesmo nome. identicos

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


ER

Olá Robson!

Meu irmão, concatena um código ao nome da imagem em onSave, antes de salva-la!

$token = substr(uniqid(rand()), 0,8);

$token .= '_' . $imagem;

espero ter ajudado!


JR

Da uma olhada no arquivo lib/adianti/service/AdiantiUploaderService.php
Baseado neste arquivo, vc cria seu service modificando o $file[ 'name'] por exemplo (aproveitando o código que o Carlos mandou):

 
  1. <?php
  2. ...
  3. if( $file['error'] === 0 && $file['size'] > 0 )
  4. {
  5. $file['name'] = substr(uniqid(rand()), 0,4).'_'.$file['name']; \\AQUI
  6. $path = $folder.$file['name'];
  7. ...
  8. ?>


Ou outra forma que vc preferir para deixar o nome do arquivo único.
Esse é o nome do arquivo salvo no tmp, e vai evitar de colidir com outro upload.

no seu form, pra usar o service que vc criou vc usa:
 
  1. <?php
  2. $foto->setService('NovoUploaderService'); //Coloca a nome (classe) do seu service
  3. ?>


Não esquece de liberar seu service no engine.php na lista do getDefaultPermissions()