Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego-SLP

Upload de imagens com mesmo nome sem substituir

Recommended Posts

Bom dia pessoal,

 

Implementei o sistema de Upload de fotos UPLOADIFY no meu projeto, ele envia as imagens para pasta, tudo certo, porém, eu quero que as imagens fiquem na pasta e o caminho no banco, pra quando eu recuperar os dados, filtrar por usuario, só que quando faço upload das imagens com mesmo nome, nao "renomeia" .

 

Isso em produção, se 2 usuarios diferentes enviassem a foto com nome DSC001.jpeg , na pagina de ambos ia ter a mesma foto, e nao duas diferentes.

 

Resumindo: Queria enviar as fotos para pasta mas gerando nomes aleatorios, tentei md5, mas da na mesma, só vai criptografado.

 

valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi

para nao apagar o arquivo mais antigo, veja se ja não existe um com mesmo nome antes de gravar

file_exists("test.txt");//retorna true ou false

se existir ai voce faz o que achar melhor com o nome, ex adicionar _1 no final, ou a hora etc..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Diego-SLP e outros membros, tudo bem?

 

estou pesquisando algo q talvez possa me ajudar!

 

tenho um código para "múltiplo upload de imagens" o qual está funcionando perfeitamente com as imagens,

a principal vai para pasta "uploads" e o thumbs vai para o pasta "thumbs" com tamanho reduzido

 

mais agora vem a questão:

 

quando faço o up de 4 ou 6 imagens ele funciona também, as imagens vão para as pastas, e os caminhos vão para o banco de dados, porem o restante das imagens ele cria outros ids, em outras linhas ficando assim:

 

tabela registro

coluna

-------- nome | preco | email | descricao | foto | thumb | id |

------- José | 10,00 | jose@..| alguma coisa| img01| img01 | 01|

------- José | 10,00 | jose@..| alguma coisa| img02 | img02 | 02|

------- José | 10,00 | jose@..| alguma coisai mg03 | img03 | 03 |

 

ou seja, eu fiz um cadastro, e ele criou o mesmo cadastro para quantas fotos for enviadas

se eu criar um cadastro com apenas uma foto? uma maravilha!

 

isso foi apenas um cadastro, mais como enviei 3 fotos ele repetiu para as outras imagens! entendeu?

 

como vc fez com o seu sistema?

 

como eu vou fazer para fazer esse cadastro fique com o mesmo id?

 

 

Grato

Teo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use md5, com isso o campo no banco de dados pode ser um char(32).

Quase Impossível alguém enviar uma imagem do mesmo IP, mesmo navegador e mesmo horário né?
Então só gerar o md5 dessas informações.

<?php
$filename = md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT'].date("Y-m-d H:i:s"));
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado CL4nG,

 

eu já usava o $nome_foto = md5(uniqid(time()));

 

mesmo assim, acontece isso!

 

estou pensando em criar um "código" gerado para cada cadastro, ex: 0011,

assim criaria uma outra tabela somente para imagens e usaria esse mesmo código para exibir todas as imagens que aquele formulário enviou!

 

acha q dá certo? e por onde começar?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Diego-SLP e outros membros, tudo bem?

 

estou pesquisando algo q talvez possa me ajudar!

 

tenho um código para "múltiplo upload de imagens" o qual está funcionando perfeitamente com as imagens,

a principal vai para pasta "uploads" e o thumbs vai para o pasta "thumbs" com tamanho reduzido

 

mais agora vem a questão:

 

quando faço o up de 4 ou 6 imagens ele funciona também, as imagens vão para as pastas, e os caminhos vão para o banco de dados, porem o restante das imagens ele cria outros ids, em outras linhas ficando assim:

 

tabela registro

coluna

-------- nome | preco | email | descricao | foto | thumb | id |

------- José | 10,00 | jose@..| alguma coisa| img01| img01 | 01|

------- José | 10,00 | jose@..| alguma coisa| img02 | img02 | 02|

------- José | 10,00 | jose@..| alguma coisai mg03 | img03 | 03 |

 

ou seja, eu fiz um cadastro, e ele criou o mesmo cadastro para quantas fotos for enviadas

se eu criar um cadastro com apenas uma foto? uma maravilha!

 

isso foi apenas um cadastro, mais como enviei 3 fotos ele repetiu para as outras imagens! entendeu?

 

como você fez com o seu sistema?

 

como eu vou fazer para fazer esse cadastro fique com o mesmo id?

 

 

Grato

Teo

 

Cara, acho que pra isso voce tem que criar um campo na sua tabela que amarre com o ID do usuario logado que esta fazendo isso, pega o ID da session logado dele e insere la, se for outra pessoa, vai amarrar com o ID dela, creio que seja isso que precisa.

 

 

Quanto ao inserir fotos sem substituir, coloquei no nome do arquivo :

.'-'.date(his)

ai acho um tampo impossível uma foto com mesmo nome, ser inserida na mesma hora minuto e segundo, ate o momento resolveu meu problema, obrigado pelas ideias pessoal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado CL4nG,

 

eu já usava o $nome_foto = md5(uniqid(time()));

 

mesmo assim, acontece isso!

 

estou pensando em criar um "código" gerado para cada cadastro, ex: 0011,

assim criaria uma outra tabela somente para imagens e usaria esse mesmo código para exibir todas as imagens que aquele formulário enviou!

 

acha q dá certo? e por onde começar?

 

Valeu

Pode olhar no seu código que o problema é outro. Estes métodos funcionam e praticamente impossível gerar o mesmo md5. Então deve ter um erro ae, você pode estar usando outra variável no lugar da que recebe o md5.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.