Pular para o conteúdo

Exportando lista de MSN

Dica publicada em PHP / Rede
João Pinto Neto toad
Hits: 8.455 Categoria: PHP Subcategoria: Rede
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Exportando lista de MSN

Neste exemplo eu tenho uma tabela com id, nome e msn dos usuários. O objetivo é efetuar o download de uma lista de todos os endereços MSN com base nos dados desta tabela. Esta lista possibilita a importação desses contatos no MSN Messenger.

Uma maneira muito interessante que encontrei de fazer isso foi efetuar o download diretamente do resultado do SELECT, onde o arquivo que é transmitido não existe no servidor. Isto é possível alterando o header e eu demonstrarei como fazer nos seguintes passos.

Para começar, crie a tabela que usaremos no exemplo:

mysql> create table usuarios(
    -> usr_id smallint(10) primary key  not null auto_increment,
    -> usr_nome varchar(40),
    -> usr_msn varchar(255)
    -> );
Query OK, 0 rows affected (0.03 sec)

Depois insira alguns dados:

mysql> insert into usuarios values
    -> (null,"Joao P. Neto","xxxxxx@hotmail.com"),
    -> (null,"Billie Joe Armstrong","biliejoe@hotmail.com"),
    -> (null,"Tre Cool","trecool@hotmail.com");
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0

Pronto, agora já temos a tabela que irá prover a lista. Precisamos então criar o script que conecta, faz o SELECT e retorna os resultados para download em um arquivo no formato da importação do MSN.

Abra o seu editor de texto preferido e copie o código abaixo, salve na pasta raiz do seu servidor HTTP com o nome de export_msn.php.

OBS: Altere o que for preciso para que funcione no seu banco de dados.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
<?php
//Conexão com o banco
$host = "localhost"; //host, na maioria das vezes não se altera
$user = "root"; //Usuário que conecta no banco
$pass = ""; //Senha de conexão, na maioria das vezes é nullo
$DB = "Teste"; //Essa é sua base de dados, tem que alterar! ;)

$conn = @mysql_connect($host',$user,$pass) or die('Erro Conectando');
$db = @mysql_select_db($DB,$conn) or die('Erro Selecionando Banco');

/*
Explicando basicamente, este header altera a forma do navegador receber os dados, conforme o PHP "imprime" os dados eles vão em formato stream.
filename=MSN_".date("d-m-Y").".ctt" diz qual será o nome do arquivo que o browser vai receber é "MSN_DATAATUAL.ctt"
*/

header('Content-Type: application/octet-stream');
header("Content-disposition: attachment; filename=MSN_".date("d-m-Y").".ctt");
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");

$sql = "select usr_msn from usuarios";
$res = mysql_query($sql);
echo "<?xml version=\"1.0\"?>
<messenger>
  <service name=\".NET Messenger Service\">
    <contactlist>\r\n";

while($dados = mysql_fetch_array($res)) {
  echo ($dados['fun_msn'] != "")? "    <contact>".$dados['usr_msn']."</contact>\r\n" : "";
}
echo "    </contactlist>
  </service>
</messenger>\r\n";

?>

Agora abra o browser e abra o seu script, o http://CAMINHO/expot_msn.php e se tudo correr bem ele vai iniciar o processo de download.

Eu acho que é só isso pessoal.

[]'s

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Mostrar mensagem aleatória (arquivo texto)

Executar um script remotamente via ssh

jQuery + PHP = Monitor de status

js-bwm: monitorando seu link de internet em tempo real

[Resolvido] Monitoramento CACTI com SPINE

Se o LAMP (Linux, Apache, MySQL e PHP) não funcionar no Debian

#1 Comentário enviado por coffnix em 06/06/2007 - 10:59h
não funcionou no meu PHP5

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/chemonz/apache/export_msn.php on line 8


deu esse erro.... alguma solução?
#2 Comentário enviado por squivos em 08/12/2007 - 08:39h
Aqui comigo não da nenhum erro mas também não puxa nada . Fica assim


<messenger>

<service name=".NET Messenger Service">
<contactlist>
</contactlist>
</service>
</messenger>

Pode me ajudar???
#3 Comentário enviado por valmir-6 em 30/01/2008 - 15:28h
Como faço para deletar todosos contatos de uma vez só, ao invés de um por um?

Contribuir com comentário

Entre na sua conta para comentar.