
Upload De Arquivos Com Php
#1
Posted 30/04/2012, 09:53
E ainda não sei mecher em banco de dados com php e tals. Queria saber se é possível fazer um sistema de upload de arquivos, em várias extenssões mas que esse formulário (com os arquivos) sejam enviados para o e-mail da pessoa, Sem a necessidade de um banco de dados.
Tenho um conhecimento baixo em php, por isso procuro sempre scripts prontos. Encontrei esse aqui! Ele não é da forma que preciso, com o envio direto para o e-mail.. Seria possível mudar?
Aguardo resposta.
Esqueci do link
http://blog.thiagobe...quivos-com-php/
#2
Posted 30/04/2012, 10:26
Use a classe PHP Mailer. Segue os 3 arquivos compactados (não teve espaço para anexar os 3 arquivos por serem muito grandes).

Mais é simples o uso. Coloque os 3 na mesma pasta. Na página que fará o envio do e-mail, insira isso.
require("libs/class.phpmailer.php"); // Certifique-se de que o caminho está certo. $mail = new PHPMailer(); $mail->IsMail(); $mail->From = "remetente@gmail.com"; // E-mail do remetente $mail->FromName = "Remetente"; // Nome do remetente $mail->AddAddress("destinatario@provedor.com.br"); // E-mail do destinatário $mail->AddAttachment($arquivo['tmp_name'], $arquivo['name']); // arquivo anexo $mail->IsHTML(true); $mail->Subject = "Assunto da mensagem"; $mail->Body = "Esta é a mensagem... Até mais!"; $mail->Send();
Qualquer dúvida poste ai

- Nathy Elyza likes this

#3
Posted 30/04/2012, 10:47
require("libs/class.phpmailer.php"); ? Que caminho seria esse?
Bom, eu criei uma pasta "php" e dentro dela eu coloquei os 3 arquivos e salvez o envia.php dentro dela também. E agora?
#4
Posted 30/04/2012, 10:59
A linha require("libs/class.phpmailer.php"); está incluindo ao arquivo a classe PHP Mailer.
Você tem dois arquivos (um formulário e o arquivo que envia)?
O código que enviei acima é o que envia. Você só precisa receber o conteúdo pelo POST e trocar as informações que coloquei por teste pelas variaveis.
- Nathy Elyza likes this

#5
Posted 30/04/2012, 11:34
O script enviar.php está dento de uma pasta que criei "php/enviar.php". E dentro dessa mesma pasta estão os tres arquivos que me enviou.
class.phpmailer
class.smtp
phpmailer.lang-br
e o enviar.
Só não entendi como fazer para integrar todos eles...
No arquivo enviar.php, eu alterei // E-mail do remetente, // Nome do remetente, // E-mail do destinatário (site.com.br).
O que mais devo fazer?
#6
Posted 30/04/2012, 11:48
- Nathy Elyza likes this

#7
Posted 30/04/2012, 12:01
<?php require("php/class.phpmailer.php"); // Certifique-se de que o caminho está certo. $mail = new PHPMailer(); $mail->IsMail(); $mail->From = "nathaliaelyzanehti@hotmail.com"; // E-mail do remetente $mail->FromName = "Nathalia"; // Nome do remetente $mail->AddAddress("alecomunicacaovisual.com.br"); // E-mail do destinatário $mail->AddAttachment($arquivo['tmp_name'], $arquivo['name']); // arquivo anexo $mail->IsHTML(true); $mail->Subject = "Assunto da mensagem"; $mail->Body = "Esta é a mensagem... Até mais!"; $mail->Send(); ?>
#8
Posted 30/04/2012, 12:10
$arquivo = $_FILES['arquivo'];
Lembrando que onde coloquei arquivo tem que ser o name do seu input file. Terminado faça um teste (o servidor tem que ser online).
Edição feita por: Allex Severino, 30/04/2012, 12:11.
- Nathy Elyza likes this

#9
Posted 30/04/2012, 12:21
Coloquei no servidor, mas não funcionou.
Não mostrou erro e nem envio.
#10
Posted 30/04/2012, 13:03
- Nathy Elyza likes this

#11
Posted 30/04/2012, 13:40
<?php require("php/class.phpmailer.php"); // Certifique-se de que o caminho está certo. $mail = new PHPMailer(); $mail->IsMail(); $mail->From = "nathaliaelyzanethi@hotmail.com"; // E-mail do remetente $mail->FromName = "Nathalia"; // Nome do remetente $mail->AddAddress("alecomunicacaovisual.com.br"); // E-mail do destinatário $mail->AddAttachment($arquivo['tmp_name'], $arquivo['name']); // arquivo anexo $mail->IsHTML(true); $mail->Subject = "Assunto da mensagem"; $mail->Body = "Esta é a mensagem... Até mais!"; $mail->Send(); ?>
Edição feita por: Nathy Elyza, 30/04/2012, 13:41.
#12
Posted 30/04/2012, 13:43

#13
Posted 30/04/2012, 15:05
Graças a sua ajuda funcionou muito bem.
Não estava funcionando porque, minha falta de atenção deu uma grande viajada.
O problema era o email (que eu coloquei como site) no destinatario. E também a parte require("php/class.phpmailer.php");
Onde a pasta em que estava php, era a mesma pasta em que estava o arquivo "envia.php". O require busca o arquivo àpartir da pasta em que estiver localizado o envia.php, ou seja, subpastas àpartir dela.
(acho que foi isso que me explicou).
Bom, alterei e funcionou blz.
Muito obrigada pela ajuda.
Edição feita por: Nathy Elyza, 30/04/2012, 15:07.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)