Olá pessoal, eu tenho um script para fazer upload de vários arquivos, e eu preciso que ele verifique se os arquivos já existem na minha pasta e se já existirem preciso que sejam renomeados , por exemplo, eu envio arquivo1.jpg, arquivo2.jpg e arquivo3.jpg ... e se arquivo2.jpg já existe na minha pasta ele renomea por $ID-1-arquivo2.jpg ($ID = $ _GET ['id']; .... e se esse nome ($ID-1-arquivo2.jpg já existe então ele renomeia para $ID-2-arquivo2.jpg, inserir um loop sempre acrescentando +1 ao nome caso ele tornar a existir na nova busca, e os outros por $ID-arquivo1.jpg e $ID-arquivo3.jog, e mover para a minha pasta os 3 arquivos .... -> $ID-arquivo1.jpg .... $ID-2-arquivo2.jpg e $ID-arquivo3.jpg, e no final inserir no banco de dados os 3 nomes sem $ID no nome e com o número no nome se o arquivo existe, insira o ID em um campo e nome em outro, ---------- $ insert = ("INSERT INTO fotos (id, nome) VALUES ('$ID', '(se existe inserir número antes do nome ..... 1,2,3 ...) - $nomes_imagens [$ i] ') "); --------- acredito que seria mais interessante primeiro gravar no banco de dados pois ainda não teria renomeado o arquivo com $ID na frente, pois então, procurei vários tópicos referente ao assunto, mas com multiplo upload e de uma maneira que conseguisse encaixar em meu código eu não consegui fazer funcionar, caso poderem colar o código de novo inserindo o que falta ficaria muito bom, todas as ajudas são bem-vindas, Obrigado! Meu código abaixo:
<?php
require'conexao.php';
$funcao = $_GET['funcao'];if(isset($_GET['funcao'])){if($_GET['funcao']== adicionar){if(
isset( $_FILES['userfile'])&&! empty( $_FILES['userfile'])){// Configura as variáveis
$imagens = $_FILES['userfile'];
$nomes_imagens = $imagens['name'];
$tipos_imagens = $imagens['type'];
$tmp_imagens = $imagens['tmp_name'];
$erro_imagens = $imagens['error'];
$tamanho_imagens = $imagens['size'];// Os mime types permitidos
$permitir_tipos = array('image/bmp','image/x-windows-bmp','image/gif','image/jpeg','image/pjpeg','image/png',);if(4000000&&4000000> $tamanho_imagens ){exit('Arquivo muito grande.');}// Verifica se a variável de erro contém um arrayif(! is_array( $erro_imagens )){exit('Nada enviado!');}// O laço for( $i =0; $i < count( $erro_imagens ); $i++){// Verifica se ocorreu algum erroif( $erro_imagens[$i]!=0){// Mostra o erro
echo 'Erro ao enviar imagem '. $nomes_imagens[$i];}else{// Verifica se os mime types estão entre os permitidosif( in_array( $tipos_imagens[$i], $permitir_tipos )){// Verifica se o arquivo foi movido com sucesso (e move)
$ultid = $_GET['id'];if(@move_uploaded_file( $tmp_imagens[$i],"images/". $nomes_imagens[$i])){
rename("images/$nomes_imagens[$i]","images/$ultid-$nomes_imagens[$i]");
$id5 = $_GET['id'];
$insere =("INSERT INTO fotos (id, nome) VALUES ('$id5', '$nomes_imagens[$i]')");
$insereBanco = mysql_query($insere);// Mostra a imagem
echo '<img src="images/'. $nomes_imagens[$i].'" style="width: 200px; height: auto;">';}else{// Mostra o erro no envio
echo 'Erro ao enviar imagem!';}}else{// Mostra o erro de tipos
echo 'Envie apenas imagens.';}// Fim dos tipos permitidos}// Fim - Verifica se ocorreu algum erro}// Fim - O laço}// Fim - Verifica se algo foi enviado
$id5 = $_GET['id'];
$ident = $_GET['identificacao'];
echo "<script>window.location='../$ident.php?id=$id5&#imagens'</script>";}}?>
Editado por Weliton Staloch Ajustei a explicação e colei o código em português
Pergunta
Weliton Staloch
Olá pessoal, eu tenho um script para fazer upload de vários arquivos, e eu preciso que ele verifique se os arquivos já existem na minha pasta e se já existirem preciso que sejam renomeados , por exemplo, eu envio arquivo1.jpg, arquivo2.jpg e arquivo3.jpg ... e se arquivo2.jpg já existe na minha pasta ele renomea por $ID-1-arquivo2.jpg ($ID = $ _GET ['id']; .... e se esse nome ($ID-1-arquivo2.jpg já existe então ele renomeia para $ID-2-arquivo2.jpg, inserir um loop sempre acrescentando +1 ao nome caso ele tornar a existir na nova busca, e os outros por $ID-arquivo1.jpg e $ID-arquivo3.jog, e mover para a minha pasta os 3 arquivos .... -> $ID-arquivo1.jpg .... $ID-2-arquivo2.jpg e $ID-arquivo3.jpg, e no final inserir no banco de dados os 3 nomes sem $ID no nome e com o número no nome se o arquivo existe, insira o ID em um campo e nome em outro, ---------- $ insert = ("INSERT INTO fotos (id, nome) VALUES ('$ID', '(se existe inserir número antes do nome ..... 1,2,3 ...) - $nomes_imagens [$ i] ') "); --------- acredito que seria mais interessante primeiro gravar no banco de dados pois ainda não teria renomeado o arquivo com $ID na frente, pois então, procurei vários tópicos referente ao assunto, mas com multiplo upload e de uma maneira que conseguisse encaixar em meu código eu não consegui fazer funcionar, caso poderem colar o código de novo inserindo o que falta ficaria muito bom, todas as ajudas são bem-vindas, Obrigado! Meu código abaixo:
Ajustei a explicação e colei o código em português
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.