[Cascavel-pm] renomear imagem durante upload

Blabos de Blebe blabos em gmail.com
Sábado Junho 19 10:03:45 PDT 2010


Correção,

Nada de

> ">$diretorio/$arquivo" para ">$diretorio/$cliente.jpg".

Use sempre open com 3 argumentos.

open my $file_handle, '>', "$dir/$filename.jpg";


2010/6/15 diogo86 em gmail.com <diogo86 em gmail.com>:
> Ricardo,
>
> não tenho certeza de que API é essa nem o que $arquivo é exatamente,
> mas pelo o que você postou, "$arquivo" (numa string) retorna o nome do
> arquivo enviado, mesmo que $arquivo seja usado também no contexto de
> file handle.
>
> Já que não é esse nome que você quer, presumo que basta trocar
> ">$diretorio/$arquivo" para ">$diretorio/$cliente.jpg".
>
> Provavelmente você vai querer tratar a extensão do arquivo e talvez
> até salvar o mime type no banco, mas aí já é com você ;)
>
>
> Diogo
>
> 2010/6/14 Ricardo Stock <ricardostock em bol.com.br>:
>> Boa tarde a todos
>>
>> minha duvida seria como renomear um arquivo antes de gravar o mesmo, ou
>> duratne.
>>
>> Estou fazendo um upload de arquivos, onde cada imagem, teria como nome o Id
>> de registro. faço o upload normalmente, mas nao sei como fazer para trocar o
>> nome do arquivo, pois nao quero que o usuario tenha que renomear o mesmo.
>> Ex foto0001.jpg  renomeia para ID.jpg
>>
>> PS: Não quero gravar a imagem no banco.
>>
>>
>> Veja o codigo
>>
>> sub Upload_Imagem {
>>
>>   $| = 1;
>>
>>   my $arquivo=param('arquivo'); #arquivo de imagem
>>   my $cliente=param('cliente'); #campo do tipo hidden com o id do cliente
>>
>>   my ($byte,$buffer,$byteread);
>>   my $diretorio="/home/htdocs/clientes/nome_cliente/album";
>>
>>
>>
>>   ## Pergunta, como renomear o arquivo de forma que fique id.jpg ??
>>   ## minha duvida é como renomear o arquivo pois na variavel $arquivo tenho
>> o nome do arquivo e o conteudo,
>>   ## que é a propria imagem, como trocar somente nome
>>   ## tentei $novo_nome=$arquivo, mas gravo a imagem sem bytes nenhum.
>>
>>   #Gravo o arquivo
>>   open (UPLOAD, ">$diretorio/$arquivo") || die "Erro $!";
>>   binmode UPLOAD;
>>
>>           while ($byte = read($arquivo,$buffer,1024)) {
>>                 $byteread += $byte;
>>                 print UPLOAD $buffer;
>>
>>                 }
>>
>>   close($arquivo);
>>   close(UPLOAD);
>>
>>
>>   #Grava o nome da imagem no banco
>>   #$sth=$dbh->prepare("update tb_cliente set imagem='$imagem' where
>> id_cliente='$cliente'");
>>   #$sth->execute() || die "Erro ao registrar a imagem $DBI::errstr";
>>   #$sth->finish();
>>
>>   print "a imagem foi carregada com sucesso.\n";
>>
>> }
>>
>>
>>
>>
>>
>> Ricardo Stock
>> ricardostock em bol.com.br
>> _______________________________________________
>> Cascavel-pm mailing list
>> Cascavel-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


Mais detalhes sobre a lista de discussão Cascavel-pm