Ir para conteúdo
Fórum Script Brasil
  • 0

Upload de Imagens Limitando apenas 6 Imagens


kel777

Pergunta

Olá pessoal,
estou com a seguinte dúvida... Quero fazer um sistema de upload de imagens mais quero que o sistema só hospede 6 imagens...
Já uso o seguinte código , gostaria de adapta-lo pois não tenho ideia de como fazer isso...

Upload.php

$Codigo=$_GET['Codigo'];
$Cod_Dep=$_GET['Cod_Dep'];
 
$pasta = 'fotos/';
foreach($_FILES["img"]["error"] as $key => $error){
if($error == UPLOAD_ERR_OK){
$tmp_name = $_FILES["img"]["tmp_name"][$key];
$cod = md5(date('Y-m-d H:i:s:u')) . '-' . $_FILES["img"]["name"][$key];
$nome = $_FILES["img"]["name"][$key];
$uploadfile = $pasta . basename($cod);
$Data = date("d/m/Y");
if(move_uploaded_file($tmp_name, $uploadfile)){
$inserir = mysql_query("INSERT INTO fotos_album (ID,Codigo,Cod_Dep,Foto,Data) VALUES ('','$Codigo','$Cod_Dep','$cod','$Data')");
}else{
echo '<div class="alert alert-error">
                <button type="button" class="close" data-dismiss="alert">×</button>
                Erro ao enviar o arquivo '.$nome.', tente novamente, ou entre em contato com o suporte!
        </div>';
}
  }

index.php

<input type="file" name="img[]"  type=file multiple>

Funciona legal pra mim, agora quero que ele limite para apenas 6 imagens.

Obrigado a todos!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Você tem duas formas de fazer isso.

Quando o usuário acessa a página index.php ele está logado? Se sim você pode pegar a id dele fazer uma consulta na tabela fotos_album e contar quantas imagens ele tem e se for igual ou mais do que 6 você nem escreve o campo que recebe a imagem.

Porém só com isso algum engraçadinho ainda pode cadastrar uma imagem.

A segunda forma, que á mais segura, no arquivo upload.php você faz a mesma consulta de quantidade de imagens e coloca o mesmo if envolta do código que faz o upload.

<?php
if (end(mysql_fetch_assoc(mysql_query("SELECT COUNT(*) FROM fotos_album WHERE Codigo = {$Codigo}"))) < 6 ) {
   /*código*/
}
?>
Link para o comentário
Compartilhar em outros sites

  • 0

Cara legal a solução, mais para oque vou fazer não vai servir...

seguinte, vou usar esse script em um sistema de cadastramento de produtos, para uma loja virtual, cada produto poderá ter 6 fotos, pra não encherem de fotos nos produtos e fica aquela coisa brega feia...

Eu agradeço muito a sua resposta! Teria ideia de como fazer dessa forma?

Link para o comentário
Compartilhar em outros sites

  • 0

Oxi claro que serve eu só supus, erroneamente, que as fotos eram de um perfil, mas a consulta e a comparação são as mesmas.

<?php
//Recebe o código do produto
$Codigo=$_GET['Codigo'];
//Seleciona a quantidade de fotos desse mesmo produto e se for menor que 6...
if (end(mysql_fetch_assoc(mysql_query("SELECT COUNT(*) FROM fotos_album WHERE Codigo = {$Codigo}"))) < 6 ) {
	//Executa o seu script de upload
	$Cod_Dep=$_GET['Cod_Dep'];
	$pasta = 'fotos/';
	foreach($_FILES["img"]["error"] as $key => $error){
		if($error == UPLOAD_ERR_OK) {
			$tmp_name = $_FILES["img"]["tmp_name"][$key];
			$cod = md5(date('Y-m-d H:i:s:u')) . '-' . $_FILES["img"]["name"][$key];
			$nome = $_FILES["img"]["name"][$key];
			$uploadfile = $pasta . basename($cod);
			$Data = date("d/m/Y");
			if(move_uploaded_file($tmp_name, $uploadfile)){
				$inserir = mysql_query("INSERT INTO fotos_album (ID,Codigo,Cod_Dep,Foto,Data) VALUES ('','$Codigo','$Cod_Dep','$cod','$Data')");
			}else{
				echo '<div class="alert alert-error">
				<button type="button" class="close" data-dismiss="alert">×</button>
				Erro ao enviar o arquivo '.$nome.', tente novamente, ou entre em contato com o suporte!
				</div>';
			}
		}
	}
}
?>

E você pode fazer a mesma coisa na página index.php

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...