Jump to content

imultimidia

Members
  • Content count

    11
  • Joined

  • Last visited

Community Reputation

0 Comum

About imultimidia

  1. imultimidia

    Validar extensão e limitar tamanho de anexo

    Obrigado pelas dicas Beraldo, ajudou bastante, valeu!!
  2. imultimidia

    Validar extensão e limitar tamanho de anexo

    Estou com dificuldades para implementar neste scritp uma validação de extensão do arquivo, no caso só imagens, e de limitar o tamanho. Peço ajuda dos amigos. <?php /** * PHPMailer multiple files upload and send example */ $msg = ''; if (array_key_exists('arquivo', $_FILES)) { // Create a message // This should be somewhere in your include_path require 'phpmailer/PHPMailerAutoload.php'; require_once('phpmailer/class.phpmailer.php'); $mail = new PHPMailer; // Recupera os dados do formulário $genero = $_POST['genero']; $nome = $_POST['nome']; $email = $_POST['email']; $idade = $_POST['idade']; $altura = $_POST['altura']; $cidade = $_POST['cidade']; $estado = $_POST['estado']; $fone = $_POST['fone']; $mensagem = $_POST['mensagem']; $arquivo = $_FILES["arquivo"]; // Monta a mensagem que será enviada $corpo = " <strong>Genero:</strong> $genero<br /> <strong>Nome:</strong> $nome<br /> <strong>E-mail:</strong> $email<br /> <strong>Idade:</strong> $idade<br /> <strong>Altura:</strong> $altura<br /> <strong>Cidade:</strong> $cidade<br /> <strong>Estado:</strong> $estado<br /> <strong>Fone:</strong> $fone<br /> <strong>Mensagem:</strong><br /> $mensagem "; $mail->Host = "mail.xxxx.com.br"; $mail->setFrom($email, $nome); $mail->Subject = "Ser Modelo - ($nome)"; $mail->AddAddress('modelos@xxx.com.br'); $mail->msgHTML($corpo); //Attach multiple files one by one for ($ct = 0; $ct < count($_FILES['arquivo']['tmp_name']); $ct++) { $uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['arquivo']['name'][$ct])); $filename = $_FILES['arquivo']['name'][$ct]; if (move_uploaded_file($_FILES['arquivo']['tmp_name'][$ct], $uploadfile)) { $mail->addAttachment($uploadfile, $filename); } else { $msg .= 'Failed to move file to ' . $uploadfile; } } if (!$mail->send()) { echo " <html> <script>alert(\"$nome, Seu e-mail não foi enviado corretamente, tende novamente mais tarde.\")</script> <meta http-equiv=refresh content=0;URL=ser-modelo.php> </html> "; } else { echo " <html> <script>alert(\"$nome, seus dados foram enviados com sucesso, em breve entraremos em contato\")</script> <meta http-equiv=refresh content=0;URL=ser-modelo.php> </html> "; } } ?>
  3. imultimidia

    Envio de email com vários anexos com phpmailer

    Mais uma vez obrigado Willians, Mas confesso meu pouco entendimento, com isso não consegui validar a extensão e tamanho neste scripts, tentei de várias formas. Gostaria se possível você ou outro fera, fizesse as alterações nele para inclusive servir didaticamente para os iniciante como eu. Valeu de novo!!
  4. imultimidia

    Envio de email com vários anexos com phpmailer

    Obrigado Williams Duarte! O exemplo do tutorial não funfou, envia tudo, diz que foi com sucesso mas não envia os arquivos. O da documentação funcionou perfeitamente, valeu mesmo pela dica! Queria validar a extensão e tamanho do arquivo, mas não to conseguindo, podes me ajudar? <?php /** * PHPMailer multiple files upload and send example */ $msg = ''; if (array_key_exists('arquivo', $_FILES)) { // Create a message // This should be somewhere in your include_path require 'phpmailer/PHPMailerAutoload.php'; require_once('phpmailer/class.phpmailer.php'); $mail = new PHPMailer; // Recupera os dados do formulário $genero = $_POST['genero']; $nome = $_POST['nome']; $email = $_POST['email']; $idade = $_POST['idade']; $altura = $_POST['altura']; $cidade = $_POST['cidade']; $estado = $_POST['estado']; $fone = $_POST['fone']; $mensagem = $_POST['mensagem']; $arquivo = $_FILES["arquivo"]; // Monta a mensagem que será enviada $corpo = " <strong>Genero:</strong> $genero<br /> <strong>Nome:</strong> $nome<br /> <strong>E-mail:</strong> $email<br /> <strong>Idade:</strong> $idade<br /> <strong>Altura:</strong> $altura<br /> <strong>Cidade:</strong> $cidade<br /> <strong>Estado:</strong> $estado<br /> <strong>Fone:</strong> $fone<br /> <strong>Mensagem:</strong><br /> $mensagem "; $mail->Host = "mail.xxxxx.com.br"; $mail->setFrom($email, $nome); $mail->Subject = "Modelo - ($nome)"; $mail->AddAddress('modelos@xxxx.com.br'); $mail->msgHTML($corpo); //Attach multiple files one by one for ($ct = 0; $ct < count($_FILES['arquivo']['tmp_name']); $ct++) { $uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['arquivo']['name'][$ct])); $filename = $_FILES['arquivo']['name'][$ct]; if (move_uploaded_file($_FILES['arquivo']['tmp_name'][$ct], $uploadfile)) { $mail->addAttachment($uploadfile, $filename); } else { $msg .= 'Failed to move file to ' . $uploadfile; } } if (!$mail->send()) { echo " <html> <script>alert(\"$nome, Seu e-mail não foi enviado corretamente, tende novamente mais tarde.\")</script> <meta http-equiv=refresh content=0;URL=ser-modelo.php> </html> "; } else { echo " <html> <script>alert(\"$nome, seus dados foram enviados com sucesso, em breve entraremos em contato\")</script> <meta http-equiv=refresh content=0;URL=ser-modelo.php> </html> "; } } ?>
  5. Boa noite pessoal, estou sem saber fazer uma alteração e preciso da ajuda de vocês, de ante mão já agradeço. Tenho um script que envia o e-mail com 1 anexo normalmente com o phpmailer usando: <input type="file" name="arquivo" class="upload" > Porém, preciso enviar 4 anexos (fotos) e não estou conseguindo modificar este código para aceitar os arquivos enviados pelo formulário usando: <input type="file" name="arquivo[]" class="upload" > <input type="file" name="arquivo[]" class="upload" > <input type="file" name="arquivo[]" class="upload" > <input type="file" name="arquivo[]" class="upload" > Segue o código: <?php // Chama a classe PHPMailer (pode baixar ela aqui: http://phpmailer.sourceforge.net) require_once('phpmailer/class.phpmailer.php'); // Instancia o objeto $mail a partir da Classe PHPMailer $mail = new PHPMailer(); // Recupera os dados do formulário $nome = $_POST['nome']; $email = $_POST['email']; $idade = $_POST['idade']; $altura = $_POST['altura']; $cidade = $_POST['cidade']; $estado = $_POST['estado']; $fone = $_POST['fone']; $mensagem = $_POST['mensagem']; $arquivo = $_FILES["arquivo"]; $tamanho = 1048576; $tipos = array('image/jpeg', 'image/pjpeg'); // Recupera o nome do arquivo $arquivo_nome = $arquivo['name']; // Recupera o caminho temporario do arquivo no servidor $arquivo_caminho = $arquivo['tmp_name']; // Monta a mensagem que será enviada $corpo = " <strong>Nome:</strong> $nome<br /> <strong>E-mail:</strong> $email<br /> <strong>Idade:</strong> $idade<br /> <strong>Altura:</strong> $altura<br /> <strong>Cidade:</strong> $cidade<br /> <strong>Estado:</strong> $estado<br /> <strong>Fone:</strong> $fone<br /> <strong>Mensagem:</strong><br /> $mensagem "; $corpoSimples = " Nome: $nome\n E-mail: $email\n Idade: $idade\n Altura: $altura\n Cidade: $cidade\n Estado: $estado\n Fone: $fone\n Mensagem:\n $Mensagem "; // Informo o Host, From, subject e para quem o e-mail será enviado $mail->Host = "mail.xxxx.com.br"; $mail->From = ($email); $mail->Subject = "Modelo - ($nome)"; $mail->AddAddress(xxx@xxx.com.br'); // Informa que a mensagem deve ser enviada em HTML $mail->IsHTML(true); // Informa o corpo da mensagem $mail->Body = $corpo; // Se o e-mail destino não suportar HTML ele envia o texto simples $mail->AltBody = $corpoSimples; // Anexa o arquivo $mail->AddAttachment($arquivo_caminho, $arquivo_nome); // Tenta enviar o e-mail e analisa o resultado if(!is_uploaded_file($arquivo['tmp_name'])){ echo " <html> <script>alert(\"A imagem é obrigatória\")</script> <meta http-equiv=refresh content=0;URL=ser-modelo.php></html> "; }elseif($arquivo['size'] > $tamanho){ echo " <html> <script>alert(\"Só é permitido apenas imagens com tamanho máximo de 1mega\")</script> <meta http-equiv=refresh content=0;URL=ser-modelo.php></html> "; }elseif(!in_array($arquivo['type'], $tipos)){ echo " <html> <script>alert(\"Só é permitido apenas imagens no formato JPEG\")</script> <meta http-equiv=refresh content=0;URL=ser-modelo.php></html> "; } elseif($mail->Send()) { echo " <html> <script>alert(\"$nome, sua homenagem foi enviada com sucesso!\")</script> <meta http-equiv=refresh content=0;URL=ser-modelo.php></html> "; } else { echo 'Erro:' . $mail->ErrorInfo; } ?>
  6. imultimidia

    upload multiplo com redimensionamento

    Vou dá uma lida Anderson, obrigado!
  7. imultimidia

    upload multiplo com redimensionamento

    Anderson, segue o erro: Notice: Undefined variable: img in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 15 Warning: imagesx() expects parameter 1 to be resource, null given in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 15 Notice: Undefined variable: img in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 16 Warning: imagesy() expects parameter 1 to be resource, null given in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 16 Warning: Division by zero in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 17 Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 19 Notice: Undefined variable: img in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 20 Warning: imagecopyresampled() expects parameter 1 to be resource, boolean given in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 20 Notice: Undefined variable: img in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 36 Warning: imagedestroy() expects parameter 1 to be resource, null given in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 36 Warning: imagedestroy() expects parameter 1 to be resource, boolean given in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 37 Notice: Undefined variable: imagemName in /home/sitedearq/public_html/demo/ipg/Redimensiona.php on line 39 Notice: Undefined variable: legenda in /home/sitedearq/public_html/demo/ipg/projetos_fotos2.php on line 29
  8. imultimidia

    upload multiplo com redimensionamento

    Boa noite pessoal, estou tendo uma dor de cabeça, sou iniciante. Tenho um arquivo que envia múltiplas imagens, só que não redimensiona. Inclui uma classe para redimensionar que ja uso em outros arquivos porém não em múltiplos. O problema é que sempre dá erro, como se o redirecionamento não estivesse recebendo as imagens. Segue o código e a classe. Se poderem me ajudar, desde já muito obrigado! <?php if(session_is_registered("$var_sessaor")) { ?> <?php include("FCKeditor/fckeditor.php"); include_once ('Redimensiona.php'); $id=$_GET['id']; require('saidas.php'); if(isset($_POST['enviar'])) { foreach($_FILES['foto']['name'] as $key => $arquivo) { if($arquivo!='') { //redimensiona $foto = $_FILES['foto'][$key]; $redim = new Redimensiona(); $imagem = $redim->Redimensionar($foto, 800, '../imgs/projetos_fotos/'); //upload sem redimensionamento /*$hash=md5(microtime()).'.jpg'; if(move_uploaded_file($_FILES['foto']['tmp_name'][$key],'../imgs/projetos_fotos/'.$hash))*/ { $legenda=$_POST['legenda'][$key]; mysql_query("INSERT INTO projetos_fotos (projetos,foto,legenda) VALUES ('$id','$imagem','$legenda')"); } } } throw_alert('Fotos enviadas com sucesso!','?p=projetos_fotos2&id='.$id); } elseif(isset($_GET['foto'])) { $fotoid=$_GET['foto']; $select=mysql_query("SELECT * FROM projetos_fotos WHERE id='$fotoid'"); $vessel=mysql_fetch_array($select); @unlink('../imgs/projetos_fotos/'.$vessel['foto']); $del=mysql_query("DELETE FROM projetos_fotos WHERE id='$fotoid'"); if($del) throw_alert('Foto removida com sucesso.','?p=books_fotos&id='.$vessel['books']); } ?> <!--GERAL--> <div class="panel panel-default"> <div style="margin-top:10px; padding:5px;" class="borda"> <h1>Fotos para o Book</h1> <p><a href="?p=projetos" class="btn btn-default" style="width: 115px;">Voltar</a></p> </div> <div class="panel-heading no-collapse"> <span >Cadastrar fotos para: </span> <span style="font-weight:bold;"> <?php $id=$_GET['id']; $select=mysql_query("SELECT * FROM projetos WHERE id='$id'"); $display=mysql_fetch_array($select); print ''.$display['titulo'].''; ?> </span> </div> <!--form--> <div style="margin-top:30px; padding:10px; overflow:hidden; max-width:800px;" > <form name="dados" method="post" action="?p=projetos_fotos2&id=<?php print $id; ?>" enctype="multipart/form-data"> <?php for($i=0;$i<6;$i+=2) { ?> <div style="col-lg-4"> <div class="form-group"> <label style="font-size:11px;">Foto</label> <input type="file" <?php print 'name="foto['.$i.']"'; ?> /> </div> </div> <div style="col-lg-4"> <div class="form-group"> <label style="font-size:11px;">Foto</label> <input type="file" <?php print 'name="foto['.($i+1).']"'; ?> /> </div> </div> <?php } ?> <div style="clear:both"></div> <input type="submit" name="enviar" value="Adicionar" class="btn btn-primary" /> </form> </div> <!-- form--> <div class="panel-heading no-collapse" style="margin-top:40px;"> <span >Fotos Cadastradas</span> </div> <!--fotos--> <div style="margin-top:30px; overflow:hidden;"> <?php $sql = mysql_query("SELECT * FROM projetos_fotos WHERE projetos='$id' ORDER BY id DESC LIMIT 100"); while($x = mysql_fetch_array($sql)) { ?> <div align="center" style="width:200px; height:200px; float:left; background-color:#F4F4F4; padding:7px; margin:10px;"> <img src="../imgs/projetos_fotos/<?=$x['foto'];?>" width="185" height="139" border="0" /><br> <!--<div style="font-size:11px; margin-top:10px;">'.$display['legenda'].'</div><br />--> <div align="center" style="margin-top:10px;"> <a href="?p=projetos_fotos&foto=<?=$x['id'];?>" class="btn btn-default" onclick="return confirm('Deseja mesmo remover?')" > Excluir Foto</a> </div> </div> <?php } ?> </div> <!--fotos--> </div> <!--GERAL--> <?php } ?> ------------------------------------------------------------------------------------------------ //CLASSE DE REDIMENDIONAR <?php class Redimensiona{ public function Redimensionar($imagem, $largura, $pasta){ $name = md5(uniqid(rand(),true)); if ($imagem['type']=="image/jpeg"){ $img = imagecreatefromjpeg($imagem['tmp_name']); }else if ($imagem['type']=="image/gif"){ $img = imagecreatefromgif($imagem['tmp_name']); }else if ($imagem['type']=="image/png"){ $img = imagecreatefrompng($imagem['tmp_name']); } $x = imagesx($img); $y = imagesy($img); $autura = ($largura * $y)/$x; $nova = imagecreatetruecolor($largura, $autura); imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $autura, $x, $y); if ($imagem['type']=="image/jpeg"){ $local="$pasta/$name".".jpg"; $imagemName = $name.".jpg"; imagejpeg($nova, $local); }else if ($imagem['type']=="image/gif"){ $local="$pasta/$name".".gif"; $imagemName = $name.".gif"; imagegif($nova, $local); }else if ($imagem['type']=="image/png"){ $local="$pasta/$name".".png"; $imagemName = $name.".png"; imagepng($nova, $local); } imagedestroy($img); imagedestroy($nova); return $imagemName; } } ?>
  9. imultimidia

    Imagem transparente com png php

    Perfeito Alex. Valeu mesmo!! OBG!
  10. imultimidia

    Imagem transparente com png php

    Olá pessoal, Estou com um probleminha que acredito que seja fácil de resolver (não pra mim rs). Uso uma classe para upload de imagens que redimensiona, até tudo bem, porém em imagens PNG não fica transparente. Se os amigos poderem me dá uma força nisso aí agradeço. Segue o código: <?php class Redimensiona{ public function Redimensionar($imagem, $largura, $pasta){ $name = md5(uniqid(rand(),true)); if ($imagem['type']=="image/jpeg"){ $img = imagecreatefromjpeg($imagem['tmp_name']); }else if ($imagem['type']=="image/gif"){ $img = imagecreatefromgif($imagem['tmp_name']); }else if ($imagem['type']=="image/png"){ $img = imagecreatefrompng($imagem['tmp_name']); } $x = imagesx($img); $y = imagesy($img); $autura = ($largura * $y)/$x; $nova = imagecreatetruecolor($largura, $autura); imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $autura, $x, $y); if ($imagem['type']=="image/jpeg"){ $local="$pasta/$name".".jpg"; $imagemName = $name.".jpg"; imagejpeg($nova, $local); }else if ($imagem['type']=="image/gif"){ $local="$pasta/$name".".gif"; $imagemName = $name.".gif"; imagejpeg($nova, $local); }else if ($imagem['type']=="image/png"){ $local="$pasta/$name".".png"; $imagemName = $name.".png"; imagejpeg($nova, $local); } imagedestroy($img); imagedestroy($nova); return $imagemName; } } ?>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.