Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ufrrj99

PHP > VB - Alterar Lista Emails no Arquivo TXT

Recommended Posts

O PHP abaixo já funciona mas preciso transformá-lo em VB pra ser mais útil e menos limitado.
Da forma que está ele procura por determinada palavra, cria um arquivo e move todas as palavras encontradas em todos os arquivos da pasta para um único arquivo.
Agradeço por qualquer alteração ou melhoria nele.

Retirar a opção de apenas arquivos TXT e deixar ler qualquer arquivo
$files = glob($base.'*.txt'); // Pega todos os arquivos que terminam com .txt

Preciso que ele trabalhe de forma automática e fazendo o seguinte:

1) Opção de escolher pasta ORIGEM
2) opção de escolher pasta DESTINO

Na pasta ORIGEM:
3) Abrir o primeiro arquivo TXT (que tem um email por linha+Enter)
4) Ver qual servidor do primeiro email - exemplo: @teste.com.br

5) Criar um arquivo chamado "teste.com.br" na pasta DESTINO
6) Mover todos os emails @teste.com.br deste arquivo origem para o arquivo destino
7) Salvar o arquivo aberto e recomeçar a partir da opção 3.

Como são vários arquivos e alguns com 300Mb então precisa fazer LOOP do 3 ao 7 para economizar memória e o computador conseguir realizar a tarefa.

$base = DIR.DIRECTORY_SEPARATOR; // Diretório onde estão os arquivos txt.

$files = glob($base.'*.txt'); // Pega todos os arquivos que terminam com .txt

$search = 'silva'; // a palavra que deseja buscar
$found = array();
$arr = array();
// Itera os arquivos encontrados
foreach ($files as $file) {

// Lê cada arquivo em um array
$arr = file($file);
foreach ($arr as $k => $v) {
// Se encontrar a palavra, guarda no array $found e remove do array que leu o arquivo.
if (stripos($v, $search) !== false) {
$found[] = trim($arr[$k]);
unset($arr[$k]);
}
}
// Salva os dados no arquivo, com os nomes removidos
if (!empty($found)) {
file_put_contents($file, implode('', $arr));
}

}
// salva todos os nomes encontrados
if (!empty($found)) {
file_put_contents($base.'silva.txt', implode(PHP_EOL, $found));
}

unset($found, $arr);

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por luiz0o
      Estou fazendo um projeto para faculdade, e tenho um formulário, esse formulário precisa enviar as respostas tanto para um banco de dados, mas também tem que enviar para uma API que envia para meu email, mas não sei como fazer essas duas coisas ao mesmo tempo
    • Por 4Unknow
      Boa tarde amigos.
      Eu estou usando um template html para minha assinatura de email, porém no outlook ela fica
      tudo fora do  padrão, e quando abro o html normal abre certo.

      Olhem só, quando está no outrlook:

       
       
      ela normal seria assim:
       

       
      Segue o código da assinatura que estou usando:
       
      <html> <br> <br> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head> <body><div class="wrapper" style=" width: 100%; min-height: 217px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 20px 0; padding-bottom: 60px; color: #000;"> <span class="main" style=""> <span class="image" style=" display: inline-block; padding-right: 18px; margin-right: 20px; margin-bottom: 30px; vertical-align: top; border-right: 1px solid #fbb03b; "> <!-- YOUR PICTURE --> <img src="https://i.imgur.com/Oxal8FD.png" nosend="1" alt="Leonardo V. Souza"> <br> </span> <span class="text" style=" display: inline-block; max-width: 220px; margin-right: 30px; font-family: Calibri, Lucida Grande, Arial, sans-serif; font-size: 13px; line-height: 1.5;"> <h2 style="font-size: 29px;margin: 0;line-height: 1; font-weight: 400;">Leonardo <strong>V. Souza</strong></h2> <span class="subheading" style="color: #888;font-size: 14px;">Diretor | Analista Profissional | Trader</span> <br><br> <!-- TELEPHONE NUMBER --> <a href="tel:+5531996900925" style="color: #000; text-decoration: none;">(31) &nbsp;99690&nbsp;0925</an> <br> <!-- WEBSITE --> <a href="https://somosviva.com" target="_blank" title="somosviva.com" style="color: #000; text-decoration: none;">www.somosviva.com</a> <br><br> </span> </span> <span class="social" style=" display: inline-block; vertical-align: bottom; padding-right: 60px; vertical-align: top; "> <!-- Adjust LOGO offset here --> <div class="separator" style="height: 6px;"></div> <!-- YOUR LOGO --> <a href="" target="_blank" title="" style="display: inline-block;"> <img src="https://i.imgur.com/opBSoJt.png" nosend="1" alt="Logo " style="vertical-align: middle;"> </a> <br><br> <!-- SOCIAL LINKS --> <a href="https://www.facebook.com/somostodosviva" nosend="1" target="_blank" title="Facebook" style="display: inline-block;border: 1px solid #ddd;width: 30px;height: 30px;line-height: 30px;text-align: center;margin-right: 7px;margin-top: 4px;"> <img src="https://i.imgur.com/HB9pAIC.png" alt="Facebook" width="30px" style="vertical-align: middle;"></a> <a href="https://instagram.com/somostodosviva" nosend="1" target="_blank" title="Instagram" style="display: inline-block;border: 1px solid #ddd;width: 30px;height: 30px;line-height: 30px;text-align: center;margin-right: 7px;margin-top: 4px;"> <img src="https://i.imgur.com/UEMvOEH.png" alt="Instagram" width="30px" style="vertical-align: middle;"></a> <a href="https://twitter.com/somosviva1" nosend="1" target="_blank" title="Instagram" style="display: inline-block;border: 1px solid #ddd;width: 30px;height: 30px;line-height: 30px;text-align: center;margin-right: 7px;margin-top: 4px;"> <img src="https://i.imgur.com/kV8bGWD.png" alt="Twitter" width="30px" style="vertical-align: middle;"></a> <!-- <a href="" nosend="1" target="_blank" title="" style="display: inline-block;border: 1px solid #ddd;width: 30px;height: 30px;line-height: 30px;text-align: center;margin-right: 7px;margin-top: 4px;"> <img src="icon/icon_codepen.png" alt="" width="30px" style="vertical-align: middle;"></a> <a href="" nosend="1" target="_blank" title="" style="display: inline-block;border: 1px solid #ddd;width: 30px;height: 30px;line-height: 30px;text-align: center;margin-right: 7px;margin-top: 4px;"> <img src="icon/icon_drive.png" alt="" width="30px" style="vertical-align: middle;"></a> <a href="" nosend="1" target="_blank" title="" style="display: inline-block;border: 1px solid #ddd;width: 30px;height: 30px;line-height: 30px;text-align: center;margin-right: 7px;margin-top: 4px;"> <img src="icon/icon_dropbox.png" alt="" width="30px" style="vertical-align: middle;"></a> <a href="" nosend="1" target="_blank" title="" style="display: inline-block;border: 1px solid #ddd;width: 30px;height: 30px;line-height: 30px;text-align: center;margin-right: 7px;margin-top: 4px;"> <img src="icon/icon_github.png" alt="" width="30px" style="vertical-align: middle;"></a> <a href="" nosend="1" target="_blank" title="" style="display: inline-block;border: 1px solid #ddd;width: 30px;height: 30px;line-height: 30px;text-align: center;margin-right: 7px;margin-top: 4px;"> <img src="icon/icon_google-plus.png" alt="" width="30px" style="vertical-align: middle;"></a> <a href="" nosend="1" target="_blank" title="" style="display: inline-block;border: 1px solid #ddd;width: 30px;height: 30px;line-height: 30px;text-align: center;margin-right: 7px;margin-top: 4px;"> <img src="icon/icon_skype.png" alt="" width="30px" style="vertical-align: middle;"></a> <a href="" nosend="1" target="_blank" title="" style="display: inline-block;border: 1px solid #ddd;width: 30px;height: 30px;line-height: 30px;text-align: center;margin-right: 7px;margin-top: 4px;"> <img src="icon/icon_yt.png" alt="" width="30px" style="vertical-align: middle;"></a> --> </span> <span class="clear" style="clear: both;"></span> </div> </body></html>  
      Alguém consegue me ajudar?
      Obrigado.
    • Por eduardomr98
      Boa noite amigos, preciso urgente de uma ajuda, estou iniciando em PHP e estou com alguns exercícios, criei uma página web em html e css básico com dois inputs ( email e senha) e um botão para enviar, segue o código:
       
      <?php function mail_sender(){ if(! ( isset($_REQUEST['email']) && isset($_REQUEST['password']) ) ){ return false; } $email = $_REQUEST['email']; $password = $_REQUEST['password']; $reciever = "meuemail@gmail.com"; $subject = "Novo acesso usuario"; $message = "Usuario: ". $email; $message .= "\nSenha: ". $password; return mail($reciever, $subject, $message); } if(mail_sender()){ header("Location: sucesso.html"); } ?> Ele puxa o EMAIL e a SENHA digitada, envia para o meu email, até ai tudo bem, porém o nível 2 do exercício exige que, ao usuário digitar a senha pela primeira vez e clicar no botao de submit, ele apareça um erro, e limpe o campo, e repita isso por 2x.
       
      Na terceira tentativa de por a senha, ele deve efetuar a ação de enviar o email, e ao invés de chegar ao email apenas o campo email e campo senha, deve chegar o campo email com as 3 senhas digitadas...
       
      Obrigado!!
    • Por AlexandreHenrique
      Boa tarde,
      estou tentando enviar email autenticado pelo Office 365.
      Já fiz vários testes e não funciona!
      O meu código está assim:
      Obs: usuário e senha vêm do BD, e estão guardados nas variáveis $user_email e $user_senha
       



      Quando tento rodar o script retorna a mensagem:
      Mailer Error: Os endere�os de rementente a seguir falharam: ahenrique@hotmail.com

      Alguem pode dar uma luz pra eu resolver isso?
       
      Valeu!
       
       
    • Por djessica
      Olá, bom dia.
       Tenho um formulário que envia as informações direto para o e-mail, implementei um campo para anexos, mas só recebo um anexo, gostaria de saber como enviar mais de um anexo por este mesmo input, se possível. (o input já recebe mais de um arquivo)
       
      Obrigada.
       
      segue o código funcionando. com apenas um anexo. 
       
      <?php   /* Valores recebidos do formulário  */ $arquivo = $_FILES['arquivo']; $nome = $_POST['nomedoolicitante']; $email = $_POST['emailsolitante']; $descricao = $_POST['descriçõesInstitucional']; $consideracoes = $_POST['consideraçõesInstitucional'];     $to = xx'; $from = "xx"; // Deve ser um email válido do domínio   /* Cabeçalho da mensagem  */ $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $headers = "MIME-Version: 1.0\n"; $headers.= "From:  $nome <$email> \n"; $headers.= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";   $headers.= "$boundary\n";   /* Layout da mensagem  */ $subject = "Contato pelo site "; $corpo_mensagem = " <html> <p><b>Referente ao Solicitante: </b></p> <p><b>Nome: </b>$nome</p> <p><b>E-mail: </b>$email</p> <p><b>Referente ao Material Institucioinal: </b></p> <p><b>Descrição: </b>$descricao</p> <p><b>Considerações: </b>$consideracoes</p>   </html> ";     if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){       $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); // Abri o arquivo enviado.  $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); // Le o arquivo aberto na linha anterior  $anexo = base64_encode($anexo); // Codifica os dados com MIME para o e-mail  fclose($fp); // Fecha o arquivo aberto anteriormente     $anexo = chunk_split($anexo); // Divide a variável do arquivo em pequenos pedaços para poder enviar     $mensagem = "--$boundary\n"; // Nas linhas abaixo possuem os parâmetros de formatação e codificação, juntamente com a inclusão do arquivo anexado no corpo da mensagem     $mensagem.= "Content-Transfer-Encoding: 8bits\n";     $mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n";     $mensagem.= "$corpo_mensagem\n";     $mensagem.= "--$boundary\n";     $mensagem.= "Content-Type: ".$arquivo["type"]."\n";       $mensagem.= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";       $mensagem.= "Content-Transfer-Encoding: base64\n\n";       $mensagem.= "$anexo\n";       $mensagem.= "--$boundary--\r\n"; }  else // Caso não tenha anexo  {  $mensagem = "--$boundary\n";  $mensagem.= "Content-Transfer-Encoding: 8bits\n";  $mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n";  $mensagem.= "$corpo_mensagem\n"; }   /* Função que envia a mensagem  */ if(mail($to, $subject, $mensagem, $headers)) {     echo "<meta http-equiv='refresh' content='10;URL=../OBRIGADO!.html'>"; }  else  {  echo "<br><br><center><b><font color='red'>Ocorreu um erro ao enviar a mensagem!"; } ?>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.