Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1075
Sexo: Masculino
Localização: Ourinhos, SP

ajuda conversão upload multiplo

29-05-2009 00:11

Olá! Tenho um código de upload que funciona ok, validando pelo tipo de arquivo, dimensões da imagem, ou se campo vazio. Adaptei com a ajuda do pessoal do site. Está redondo, mas é para uma única imagem. Necessito de upload múltiplo e não estou conseguindo adaptá-lo. Alguém pode me dar um norte? Abaixo:

if($_POST['Submit']) { $i=1; $erro = $config = array(); // Prepara a variável do arquivo $arquivo = isset($_FILES["ImagemLogotipoRevenda"]) ? $_FILES["ImagemLogotipoRevenda"] : FALSE; // Tamanho máximo do arquivo (em bytes) $config["tamanho"] = 106883; // Largura máxima (pixels) $config["largura"] = 63; // Altura máxima (pixels) $config["altura"] = 34; //Formulário postado... executa as ações if($arquivo) { //Verifica se o campo foi preenchido if($arquivo["type"]=="application/octet-stream" && $_FILES["ImagemLogotipoRevenda"]["name"]=="") { $erro[] = "<table width=\"468\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=\"100%\" height=\"30\" align=\"center\" class=\"MessageAlert\"><img src=\"../../images/warning.gif\">&nbsp;Você deve inserir um logotipo!</td></tr></table> <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"2\"></td></tr></table>"; } //Verifica se o mime-type do arquivo é de imagem elseif($arquivo["type"]!="image/gif" && $arquivo["type"]!="image/jpeg" && $arquivo["type"]!="application/x-shockwave-flash") //elseif($arquivo["type"]!="image/gif" && $arquivo["type"]!="image/jpeg" && $arquivo["type"]!="application/x-shockwave-flash") { $erro[] = "<table width=\"468\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=\"100%\" height=\"30\" align=\"center\" class=\"MessageAlert\"><img src=\"../../images/warning.gif\">&nbsp;&nbsp;Formato inválido ($arquivo[type]): deve ser GIF, JPEG ou SWF!</td></tr></table> <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"2\"></td></tr></table>"; } else { //Verifica tamanho do arquivo if($arquivo["size"] > $config["tamanho"]) { $erro[] = "<table width=\"468\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=\"100%\" height=\"30\" align=\"center\" class=\"MessageAlert\"><img src=\"../../images/warning.gif\">&nbsp;&nbsp;Tamanho excessivo! Máximo permitido:&nbsp;" . $config["tamanho"] . " bytes.</td></tr></table> <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"2\"></td></tr></table>"; } // Para verificar as dimensões da imagem $tamanhos = getimagesize($arquivo["tmp_name"]); // Verifica largura if($tamanhos[0] > $config["largura"]) { $erro[] = "<table width=\"468\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=\"100%\" height=\"30\" align=\"center\" class=\"MessageAlert\"><img src=\"../../images/warning.gif\">&nbsp;&nbsp;Largura excessiva! Máxima permitida:&nbsp;" . $config["largura"] . " pixels.</td></tr></table> <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"2\"></td></tr></table>"; } // Verifica altura if($tamanhos[1] > $config["altura"]) { $erro[] = "<table width=\"468\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=\"100%\" height=\"30\" align=\"center\" class=\"MessageAlert\"><img src=\"../../images/warning.gif\">&nbsp;&nbsp;Altura excessiva! Máxima permitida:&nbsp;" . $config["altura"] . " pixels.</td></tr></table> <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"2\"></td></tr></table>"; } } // Imprime as mensagens de erro if(sizeof($erro)) { foreach($erro as $err) { $err; } } // Verificação de dados OK, nenhum erro ocorrido, executa então o upload... else { // Pega extensão do arquivo preg_match("/\.(gif|pjpeg|jpg|jpeg|swf){1}$/i", $arquivo["name"], $ext); //preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); $servertime = time(); $dia = date("d", ($servertime)); $mes = date("m", ($servertime)); $ano = date("y", ($servertime))+2000; $hora = date("H", ($servertime)); $minuto = date("i", ($servertime)); $segundo = date("s", ($servertime)); $ip = str_replace(".", "", $_SERVER['REMOTE_ADDR']); // Gera um nome único para a imagem $imagem_nome = $_POST["anuncio"]."_".$dia.$mes.$ano.$hora.$minuto.$segundo.$ip. "." . $ext[1]; //$imagem_nome = md5(uniqid(time())) . "." . $ext[1]; // Caminho de onde a imagem ficará $imagem_dir = "../../logotipos_revendas/" . $imagem_nome; // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir); $nome[$i]=$imagem_nome; $i++; } }


Eu tenho um código de upload múltiplo, também adaptado com a ajuda do pessoal do site, que funciona redondo, também, com validação do tipo de arquivo, se campo em branco, e que redimensiona a imagem. Entretanto, não consigo adaptar a validação do tamanho do arquivo e de suas dimensões. Tentei transportar para ele esse tipo de validação do código acima, mas não deu certo. Na verdade, eu preciso deste código com a validação do tamanho e dimensões, mas, se não conseguir essa adequação, me serve o código acima adaptado para multi-upload, ao qual tentarei acrescer o redimensionamento da imagem. Segue o outro código:

if($_POST['Submit']) { $errN = 0; // Total de erros $errT = ""; // Texto dos erros $i=1; for ($indice=0;$indice<count($arquivos);$indice++) { $type=$_FILES['arquivos']['type'][$indice]; if($type!="image/jpeg" && $type!="image/pjpeg" && $type!="application/octet-stream") { $MensagemErroImagem .= "<table width=\"468\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"2\"></td></tr><tr><td width=\"100%\" height=\"30\" align=\"center\" class=\"MessageAlert\"><img src=\"../../images/warning.gif\">&nbsp;Arquivo não permitido ($type)! Insira uma imagem JPEG.</td></tr></table>"; } elseif($type=="application/octet-stream") { $MensagemErroImagem .= "<table width=\"468\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"2\"></td></tr><tr><td width=\"100%\" height=\"30\" align=\"center\" class=\"MessageAlert\"><img src=\"../../images/warning.gif\">&nbsp;Campo em branco! Você deve inserir uma imagem em formato JPEG.</td></tr></table>"; } elseif($Tamanho > 30) { $MensagemErroImagem .= "<table width=\"468\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"2\"></td></tr><tr><td width=\"100%\" height=\"30\" align=\"center\" class=\"MessageAlert\"><img src=\"../../images/warning.gif\">&nbsp;Tamanho excessivo da imagem!</td></tr></table>"; } else { if($type) { $uploaddir = "../../fotos_anuncios_aeromodelo/"; // com a barra no final // pasta onde o ThumbAeromodelonail será armazenado $uploadfile = $uploaddir.$_FILES['arquivos']['name'][$indice]; if(move_uploaded_file($_FILES['arquivos']['tmp_name'][$indice], $uploadfile)) { $imagemC = $uploadfile; $imagemN = $_FILES['arquivos'][$indice]; //$imagemN = $_FILES['arquivos']['name'][$indice]; $quebra = explode(".",$imagemN); //inseri $servertime = time(); $dia = date("d", ($servertime)); $mes = date("m", ($servertime)); $ano = date("y", ($servertime))+2000; $hora = date("H", ($servertime)); $minuto = date("i", ($servertime)); $segundo = date("s", ($servertime)); $ip = str_replace(".", "", $_SERVER['REMOTE_ADDR']); $mini_nome = $_POST["anuncio"]."_".$dia.$mes.$ano.$hora.$minuto.$segundo.$ip.$i.$quebra[0].".jpg"; // use a variável $caminho para salvar no bd $caminho = $uploaddir.$mini_nome; $img = imagecreatefromjpeg($imagemC); $ThumbAeromodelo = imagecreatetruecolor(800,600); imagecopyresampled($ThumbAeromodelo, $img , 0 , 0 , 0 , 0 , 800 , 600, imagesX( $img ) , imagesY( $img )); imagejpeg($ThumbAeromodelo, $caminho); unlink($uploadfile); $nome[$i]=$mini_nome; $i++; } }


A quem interessar, em ambos os códigos, o nome do arquivo é formado, antes da extensão, pelo dia, mês, ano, minuto, segundo e ip. Considerei importante esta identificação. Um abraço.
0
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1075
Sexo: Masculino
Localização: Ourinhos, SP

ajuda conversão upload multiplo

29-05-2009 00:14

Por favor, desconsiderem isto do segundo código:
elseif($Tamanho > 30) { $MensagemErroImagem .= "<table width=\"468\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"2\"></td></tr><tr><td width=\"100%\" height=\"30\" align=\"center\" class=\"MessageAlert\"><img src=\"../../images/warning.gif\">&nbsp;Tamanho excessivo da imagem!</td></tr></table>"; }

É uma das tentativas frustradas. Desculpe por este post.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17404
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

ajuda conversão upload multiplo

29-05-2009 15:31

Tem um script aqui no fórum, acho que é: upload total, acho melhor você tentar usar ele, ele valida e se não me engano tem upload múltiplo, talvez faça poucas alterações nele.
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1075
Sexo: Masculino
Localização: Ourinhos, SP

ajuda conversão upload multiplo

29-05-2009 17:22

Você tem o link?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17404
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

ajuda conversão upload multiplo

29-05-2009 17:30

Usa a busca Google ai no topo: upload total, acho que é o primeiro.
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado