Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
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..
Boa noiteDiego-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
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"));
?>ObrigadoCL4nG,
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
Poste seu código de upload para verificarmos, ai veremos ele e podemos te auxiliar melhor.
>
Boa noiteDiego-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.
if(file_exists("produtos/$foto")){
$i = 1;
while(file_exists("produtos/[$i]$foto")){
$i++;
}
$foto = "[".$i."]".$foto;
}>
ObrigadoCL4nG,
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.
na hora de enviar, coloca algum valor na frente ou no final do nome do arquivo.