Jump to content


Juliano Tavares

Member Since 27/08/2006
Offline Last Active 10/03/2013, 08:45
-----

Topics I've Started

Php Coleta E Organização De Dados De Um Txt

12/02/2013, 23:42

Minha dúvida é a seguinte:
Tenho um arquivo.txt em um servidor de um sistema de consulta de protocolo.
Ex.: http://www.sevidor.com/arquivo.txt

O conteúdo deste arquivo é mais ou menos assim:

Sistema de Consulta de Protocolo
Output produced by MEGAX from (0212 UTC 13 February 2013)
found at http://www.sevidor.com/megax

NOTIFICA 122100z 33002ET 9999 TRM090 KBH090 27/23 KYE23325

Primeira dúvida é: Como faço pra colegar esses dados (tenho acesso normal ao arquivo) e interpretar separando os campos e adicionando uma ligação com os dados do meu banco de dados de resposta:
Exemplo:

Para cada "COLUNA" do txt eu tenho um dado no meu banco de dados.
Campos:

Situação data/hora transição codhip transmissao tipo1 pid1 pid2 codexec
NOTIFICA 122100 33002ET 9999 TRM090 KBH090 27 23 KYE23325

Segunda dúvida é que para cada campo desse eu tenho um áudio já gravado com esses dados.

Como eu posso fazer esse script em php coletar esses dados e comparar com meu banco de dados e executar o áudio correspondente para cada campo?

Detalhe é que esse txt é atualizado em tempo real e para meu script apenas um formulario com 1 campo de submit onde irei escrever a palavra NOTIFICA, e ele irá executar o código e "tocar" o áudio na sequencia dos campos do txt. (Lembrando são áudios separados e correspondentes a cada campo do txt)

Obrigado pela ajuda desde já!

Phpmailer - Envio De Resposta Automática Com Anexo.

13/10/2012, 20:24

Olá pessoal, depois de 3 dias de pesquisa e muita tentativa resolvi postar meu problema aqui no fórum. (Já pesquisei inclusive aqui e não achei uma solução).

A princípio é simples, estou usando a classe PHPMailer autenticando o email pelo gmail, ele envia o email do formulário para meu e-mail e automaticamente recebe uma resposta minha com um anexo, (era pra ser assim), porém não consigo encontrar o erro, abaixo vai os scripts.

orcamento.php
<?php session_start();?>
<style type="text/css">
form{padding:10px; width:640px; background:#666;}
label{display:block; margin:0 0 10px 0;}
span{font:bold 12px Tahoma, Geneva, sans-serif; color:#FFF; display:block; margin:0 0 5px 0;}
input{width:610px; padding:5px; font:14px Arial, Helvetica, sans-serif; color:#fff; border:1px solid #CCC; background:#999; margin:0 10px;}
textarea{width:610px; padding:5px; font:14px Arial, Helvetica, sans-serif; color:#fff; border:1px solid #CCC; background:#999; margin:0 10px;}
.btn{display:block; margin:0 auto; width:150px; background:#900; color:#fff; cursor:pointer; font-weight:bold;}
.alert{padding:5px; background:#FFFFBF; border:1px solid #FF0; margin:5px 5px 15px 5px; font:bold 12px Arial, Helvetica, sans-serif; color:#F30;}
</style>
<form name="email" action="" method="post">
<?php  if(isset($_POST['enviar'])){
        unset($_SESSION['enviado']);
        $assunto = strip_tags(trim($_POST['assunto']));
        $nome    = strip_tags(trim($_POST['nome']));
        $email= strip_tags(trim($_POST['email']));
        $msg = strip_tags(trim($_POST['msg']));

/* comentei a validação dos campos pra facilitar a execução do script

        if($tipo == '' || $nome == '' || $email == '' || $msg == ''){
                echo '<div class="alert">Erro: Todos os campos são obrigatórios.</div>';
        }else if(!preg_match("/^[a-z0-9_\.\-]+@[a-z0-9_\.\-]*[a-z0-9_\-]+\.[a-z]{2,4}$/i", $email)){
                        echo '<div class="alert">Erro: Informe um email válido.</div>';
        }else{
        */
                require('config.php');
                sendMail($assunto,$msg,$email,$nome,'juliano.tavaress@gmail.com','Juliano Tavares');
                sendMail('Pedido de Orçamento','obrigado por solicitar esse orçamento','juliano.tavaress@gmail.com','Juliano Tavares',$email,$nome);

        }


if(isset($_SESSION['enviado'])){
                echo $_SESSION['enviado'];
}               

?>
 <label>
 <span>*Assunto</span>
 <input type="text" name="assunto" value="<?php if(isset($assunto)){echo $assunto;}?>"/>
 </label>
 <label>
 <span>*Nome</span>
 <input type="text" name="nome" value="<?php if(isset($nome)){echo $nome;}?>" />
 </label>
 <label> <span>*E-mail</span>
   <input type="text" name="email" value="<?php if(isset($email)){echo $email;}?>" />
 </label>
 <label> <span>*Qual orçamento deseja?</span><br />
Casamento
   <input name="tipo" type="radio" value="casamento" checked />
Casal e Gestante
   <input name="tipo" type="radio" value="casalgestante"/>
Pessoal
   <input name="tipo" type="radio" value="pessoal"/>
 </label>
 <label>
   <span>*Mensagem</span>
   <textarea rows="5" name="msg"><?php if(isset($msg)){echo $msg;}?></textarea>
 </label>
 <input type="submit" name="enviar" value="Enviar Mensagem" />
</form>

config.php
<?php function sendMail($assunto,$msg,$remetente,$nomeRemetente,$destino,$nomeDestino, $is_gmail = true) { 
                define('SMTPUSER', 'juliano.tavaress@gmail.com'); // sec. smtp username
                define('SMTPPWD', '******'); // sec. password
                define('SMTPSERVER', 'smtp.gmail.com'); // sec. smtp server
                
require_once('class.phpmailer.php'); //Include pasta/classe do PHPMailer
//$mail->SetLanguage("br", "language\\");

        global $error;
        $mail = new PHPMailer();
        $mail->IsSMTP();
        $mail->SMTPAuth = true; 
        if ($is_gmail) {
                $mail->SMTPSecure = 'ssl'; 
                $mail->Host = 'smtp.gmail.com';
                $mail->Port = 465;  
                $mail->Username = GUSER;  
                $mail->Password = GPWD;   
        } else {
                $mail->Host = SMTPSERVER;
                $mail->Username = SMTPUSER;  
                $mail->Password = SMTPPWD;
        }        
$mail->From                     = $remetente; //remtente
$mail->FromName                 = utf8_decode($nomeRemetente); //remtetene nome
$mail->IsHTML(true);
$mail->Subject                  = utf8_decode($assunto); //assunto
$mail->Body                     = utf8_decode($msg); //mensagem
$mail->AddAddress($destino,utf8_decode($nomeDestino)); //email e nome do destino
$mail->WordWrap                 = 50; // Definição de quebra de linha
$mail->AddAttachment("investimento_casamento.pdf");  // Insere um anexo

        
        
        if(!$mail->Send()) {
         echo '<span>Erro ao enviar, favor entre em contato pelo e-mail MEU EMAIL!</span>';
}else{
        $_SESSION['enviado'] = '<div class="alert">Mensagem enviada com sucesso!</div>';
        
        
}
}


?>

Até aqui tá indo bem pois está enviando o email com os dados do usuario para meu email, e ele recebe uma resposta, porém, tanto eu quanto ele recebe o arquivo em anexo, notem que no formulário, tem 3 checkbox , eu não consegui encontrar uma forma de quando o usuario selecionar o checkbox casamento, seja enviado o arquivo "investimento_casamento.pdf", caso ele seleciona Casal e Gestante, seja enviado o arquivo "investimento_casal.pdf" e assim sucessivamente.

Acredito que não deve ser algo muito complexo porém não tenho tanto conhecimento e espero a ajuda de vocês, obrigado.

IPB Skin By Virteq