Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera, tudo bom?
To pensando em implementar um upload de imagens aqui, mas tenho algumas dúvidas.
Como fazer para alterar o "nome" da imagem e substituir por números?
Por exemplo, a imagem original veio com o nome "Foto" quero substituir o nome para número de acordo com o ID.
Ou seja, se a imagem tiver a ID 35 o nome dela vai ser 35.
Então, alguma luz?
A sim, entendi.
Mas por exemplo, ali você especificou que teria o nome 1. Queria que a cada uma que fosse adicionada, tivesse o nome diferente.
Então, eu teria que fazer uma consulta SQL antes?
De alguma forma você vai precisar do ID, você vai apenas substituir o 1 pelo ID que você deseja.
E uma coisa que esqueci, você precisa preservar a extensão do arquivo, não pode simplesmente colocar jpg uma vez que podem ser enviadas imagens que não são JPG, para pegar a extensão do arquivo enviado você pode fazer isso:
pathinfo($_FILES['imagem']['name'], PATHINFO_EXTENSION);
E se você quer simplesmente um número que não se repita, use:
uniqid(mt_rand(), true);
No final ficaria assim:
$uploadedFile = $_FILES['imagem']['tmp_name'];
$uploadPath = __DIR__ . '/../uploads'; // Pasta onde ficam as imagens.
$fileName = uniqid(mt_rand(), true) . '.' . pathinfo($_FILES['imagem']['name'], PATHINFO_EXTENSION); // Nome que a imagem terá.
$destination = $uploadPath . '/' . $fileName;
move_uploaded_file($uploadedFile, $destination);
Você precisa apenas alterar o $uploadPath para sua pasta de uploads agora.
No segundo parâmetro da move_uploaded_file você especifica o caminho, incluindo o nome, veja:
$uploadedFile = $_FILES['imagem']['tmp_name'];
$uploadPath = __DIR__ . '/../uploads'; // Pasta onde ficam as imagens.
$fileName = '1.jpg'; // Nome que a imagem terá.