Liko 182 Postado Novembro 2, 2007 Denunciar Share Postado Novembro 2, 2007 Galera, estou com um sistema pra desenvolver no qual estou enroladoe eu estou com o prazo até 5ª Feira para entregar, por favor me ajudem!!Eu estou enviando um formulário por email, no qual também tenho que enviar 5 fotos em anexo.essas mesmas 5 fotos tenho que colocar no banco, e também não faço ideia de como executar,Se alguém puder me auxiliar nessa parte estarei muitoo gratoo, pois é só oque falta para terminaro Sistema, aguardo resposta galera,Obrigadoo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Novembro 2, 2007 Denunciar Share Postado Novembro 2, 2007 Dê uma olhada neste tópico do Beraldo, um script enviado por Fabyo:http://scriptbrasil.com.br/forum/index.php?showtopic=91109 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --liko182 -- Postado Novembro 2, 2007 Denunciar Share Postado Novembro 2, 2007 então...estou enviando um form com 5 campos file...foto1,2,3,4 e 5...mas não está funcionando...ele envia o email tudo certinho porém não chega nenhum anexo...você's podem me auxiliar?éssa é a parte do código de envio de arquivos...//foto; //se existir o upload ele vai ser passado para variavel $arquivo //isset = verifica se existe a variavel e ? : é um if abreviado $arquivo1 = isset($_FILES["foto1"]) ? $_FILES["foto1"] : FALSE; $arquivo2 = isset($_FILES["foto2"]) ? $_FILES["foto2"] : FALSE; $arquivo3 = isset($_FILES["foto3"]) ? $_FILES["foto3"] : FALSE; $arquivo4 = isset($_FILES["foto4"]) ? $_FILES["foto4"] : FALSE; $arquivo5 = isset($_FILES["foto5"]) ? $_FILES["foto5"] : FALSE; //abro o arquivo para leitura e interpretado como binario o "rb" r é de somente leitura e o b é de binario $fp1 = fopen($_FILES["foto1"]["tmp_name"],"rb"); $fp2 = fopen($_FILES["foto2"]["tmp_name"],"rb"); $fp3 = fopen($_FILES["foto3"]["tmp_name"],"rb"); $fp4 = fopen($_FILES["foto4"]["tmp_name"],"rb"); $fp5 = fopen($_FILES["foto5"]["tmp_name"],"rb"); //fread Leitura de arquivo binario $anexo1 = fread($fp1,filesize($_FILES["foto1"]["tmp_name"])); $anexo2 = fread($fp2,filesize($_FILES["foto2"]["tmp_name"])); $anexo3 = fread($fp3,filesize($_FILES["foto3"]["tmp_name"])); $anexo4 = fread($fp4,filesize($_FILES["foto4"]["tmp_name"])); $anexo5 = fread($fp5,filesize($_FILES["foto5"]["tmp_name"])); //base64_encode Codifica dados com MIME base64 $anexo = base64_encode($anexo1); $anexo = base64_encode($anexo2); $anexo = base64_encode($anexo3); $anexo = base64_encode($anexo4); $anexo = base64_encode($anexo5); //fecha o arquivo fclose($fp1); fclose($fp2); fclose($fp3); fclose($fp4); fclose($fp5); //Divide uma string em pequenos pedaços //Pode dividir uma string em pequenos pedaços que são úteis para ex. //converter a saída de base64_encode() para semânticas RFC 2045 $anexo1 = chunk_split($anexo1); $anexo2 = chunk_split($anexo2); $anexo3 = chunk_split($anexo3); $anexo4 = chunk_split($anexo4); $anexo5 = chunk_split($anexo5); $bodyy .= "</div></font></body></hmtl>"; $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary\n"; $mens .= "Content-Transfer-Encoding: 8bits\n"; $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; $mens .= "--$boundary\n"; $mens .= "Content-Type: ".$arquivo1["type"]."\n"; $mens .= "Content-Type: ".$arquivo2["type"]."\n"; $mens .= "Content-Type: ".$arquivo3["type"]."\n"; $mens .= "Content-Type: ".$arquivo4["type"]."\n"; $mens .= "Content-Type: ".$arquivo5["type"]."\n"; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo1["name"]."\"\n"; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo2["name"]."\"\n"; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo3["name"]."\"\n"; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo4["name"]."\"\n"; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo5["name"]."\"\n"; $mens .= "Content-Transfer-Encoding: base64\n\n"; $mens .= "$anexo1\n"; $mens .= "$anexo2\n"; $mens .= "$anexo3\n"; $mens .= "$anexo4\n"; $mens .= "$anexo5\n"; $mens .= "--$boundary--\r\n"; $headers = "MIME-Version: 1.0\n"; $headers .= "From: \"$nome\" <$email_from>\r\n"; $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; $headers .= "$boundary\n"; $Email = new PHPMailer(); $Email->SetLanguage("br"); $Email->IsMail(); $Email->IsHTML(true); $Email->From = $email; $Email->FromName = $nome; $Email->AddAddress($to); $Email->Subject = $subjectt; $Email->Body = $bodyy; $Email->mens = $mens; $Email->headers = $headers; if($Email->Send()) { echo "<script>alert('Obrigado!\\nMensagem enviada com sucesso!\\nEntraremos em Contato o mais breve possivel!')</script>"; echo "<script>window.location='index.php'</script>"; } else { echo "<script>alert('Desculpe!\\nSua Mensagem não pode ser enviada. Por favor tente novamente mais tarde')</script>"; echo "<script>window.location='anuncie.php'</script>"; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Liko 182 Postado Novembro 2, 2007 Autor Denunciar Share Postado Novembro 2, 2007 Galera estou quase conseguindo fazer funcionar o codigo...me deem uma força nessa ultima parte...o codigo tem a função de adcionar até 5 fotos e enviar em anexo por email...Estou postando o código pra você's darem uma olha pra mim por favor...ai vai o código..|V <? require_once('classes/class.phpmailer.php');if (getenv("REQUEST_METHOD") == "POST"){set_time_limit(0); //dados $nome = $_POST['nome']; ... $obs = $_POST['obs']; //endereço eletronico $to = "endereco_email"; $subjectt = "Assunto"; $bodyy = " <html> <head> <meta http-equiv='Content-Type' content='text/html; charset-iso-8859-1'/> <title>Title</title> </head> <body> <font face='verdana' size='2'>"; //Início do Cabeçalho $bodyy .= "<div align='left' style='line-height:170%'>" ; //Início do corpo $bodyy .= "<strong>Dados</strong> <br><br> <strong>Nome:</strong> ".$nome."<br> ... <strong>Observações:</strong> ".$obs; //fim body $anexos = 0; $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary\n"; $mens .= "Content-Transfer-Encoding: 8bits\n"; $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; $mens .= "--$boundary\n"; for($i = 0; $i < count($_FILES["file"]["name"]); $i++) { if(is_uploaded_file($_FILES["file"]["tmp_name"][$i])){ $fp = fopen($_FILES["file"]["tmp_name"][$i], "rb"); $anexo = chunk_split(base64_encode(fread($fp, $_FILES["file"]["size"][$i]))); fclose($fp); $mens .= "Content-Type: ".$_FILES["file"]["type"][$i]."\n name=\"".$_FILES["file"]["name"][$i]."\"\n"; $mens .= "Content-Disposition: attachment; filename=\"".$_FILES["file"]["name"][$i]."\"\n"; $mens .= "Content-transfer-encoding:base64\n\n"; $mens .= $anexo."\n"; if($i + 1 == count($_FILES["file"]["name"])) $mens.= "--$boundary--"; else $mens.= "--$boundary\n"; if($_FILES["file"]['error'][$i] == 0) { $anexos++; } } } $headers = "MIME-Version: 1.0\n"; $headers .= "Date: ".date("D, d M Y H:i:s O")."\n"; $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; $Email = new PHPMailer(); $Email->SetLanguage("br"); $Email->IsMail(); $Email->IsHTML(true); $Email->From = $email; $Email->FromName = $nome; $Email->AddAddress($to); $Email->Subject = $subjectt; $Email->Body = $bodyy; $Email->mens = $mens; $Email->headers = $headers; if($Email->Send()){ echo "<script>alert('Mensagem enviada com sucesso!, $anexos anexos')</script>"; echo "<script>window.location='pagina.ext'</script>"; } else { echo "<script>alert('Sua Mensagem não pode ser enviada')</script>"; echo "<script>window.location='pagina.ext'</script>"; }}?>[/codebox]Se puderem me ajudar, estarei mtooo agradecido,=]ah quanto a tabela tem mais de 40 campos!!!se eu postar você's não vão ter paciencia de verificar tudo!!!!!mais essa é a linha do file...<tr> <td><p class="letra">Fotos do Imóvel:</p></td> <td height="25"><div id="conteudo"> <input name="file[]" type="file" class="list" id="file[]" /> <input type="button" class="list" value="Adicionar" onclick="Add()" /></div> </td>o form está assim:<form action="envia.php" method="post" enctype="multipart/form-data" name="form1" id="form1">tem uma classe em js que eu estou puxando para adicionar outras fotos...Mais ela esta dando um erro...Linha 9:'campo' é nulo ou não é um objeto//jsNumeroCampo = 0;function Add() { if(NumeroCampo < 4) { NumeroCampo++; data = "<span id='campo"+NumeroCampo+"'><input type=\"file\" name=\"file[]\" /> <input type=\"button\" value=\"Remover\" onclick=\"Delcampo('campo"+NumeroCampo+"')\" /></span>"; campo = document.getElementById("campos"); campo.innerHTML = campo.innerHTML + data; } }function Delcampo(IDDiv) { var d = document.getElementById('campos'); var olddiv = document.getElementById(IDDiv); d.removeChild(olddiv); NumeroCampo--;}se puderem me ajudar...agradeço de alma e coração!!!!Obrigado!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 2, 2007 Denunciar Share Postado Novembro 2, 2007 Você está usando a classe phpmailer? Por acaso você consultou a documentação da classe? Lá tem como enviar anexos junto usando ela... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Liko 182
Galera, estou com um sistema pra desenvolver no qual estou enrolado
e eu estou com o prazo até 5ª Feira para entregar, por favor me ajudem!!
Eu estou enviando um formulário por email, no qual também tenho que enviar 5 fotos em anexo.
essas mesmas 5 fotos tenho que colocar no banco, e também não faço ideia de como executar,
Se alguém puder me auxiliar nessa parte estarei muitoo gratoo, pois é só oque falta para terminar
o Sistema, aguardo resposta galera,
Obrigadoo
Link para o comentário
Compartilhar em outros sites
4 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.