Jump to content


Photo

Busca De Ceps Direto Do Site Do Correio


  • Faça o login para participar
4 replies to this topic

#1 dokkalfr

dokkalfr

    Ich bin der Geist der stets verneint

  • Usuários
  • 203 posts
  • Sexo:Não informado
  • Localidade:Svartheim
  • Interesses:Programação e sexo

Posted 02/11/2004, 16:58

Deem uma olhada num código de exemplo de como utilizar a framework que eu mantenho... assim que eu conseguir um host que rode PHP5 eu ponho ele funcionando ^_^

http://svartfem.codi...los:cepcorreios

Edição feita por: dokkalfr, 04/11/2004, 08:39.

Ainda com dúvida? Os melhores programadores PHP estão aqui
=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Blog PHPClube
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Bookmarks

#2 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 03/11/2004, 09:15

Bem da para fazer com o PHP 4 ou até mesmo o 3 é so estudar o XML e fazer ums exploes e implodes a parte mais crucial para o uso do PHP 5 está nas funçôes de uso das XMLs que estao bem faceis de se lida ...

Edição feita por: sk15, 03/11/2004, 09:15.


#3 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 03/11/2004, 12:55

Fiquei com vontade de fazer esse script tirei uma hora do meu tempo e fiz ele :)
Olha ele rodando:
http://www.e-gwi.com/sk15/cep.php

Esse código é bem simples e basico so mostra como abrir pegar e exibir .. nao precisa usar classes nem nada é so usar um pouco cabeça que o resultado sai :)

PHP
<?php
/**
* Script que Busca no XML nos correi um CEP ...
* Escrito por: Sandro[SK15] - sk15@msn.com
**/

// URL dos Correios //
$xml_ceps = 'http://www.correios.com.br/servicos/cep/xml_logradouro.cfm?pag=1&cep=';
#####################################################

// Função Principal que retorna em um Array na Ordem dos correios os Resultados
// Pode ser Usado em qualquer sistema a partir dessa funçao..
function CepXMLArray() {
global
$xml_ceps;
$xml_file = file(($xml_ceps . $_POST['cep1'] . $_POST['cep2']));
$xml_stit = str_replace(array('<?xml version="1.0" encoding="ISO-8859-1" ?>', '<CEPS>', '</CEPS>', '</CEP>', "\r\n", "\n\r", "\n", "\r", "\t"), array('', '', '', '', '', '', '', '', ''), $xml_file);
$xmls_cep = '';
foreach(
$xml_stit as $lines) { $xmls_cep .= $lines; }
$cep_data = explode('<CEP>', trim($xmls_cep));
$all_ceps = array();
$numb_cep = '0';
foreach(
$cep_data as $line => $value) {
if (!empty(
$value)) {
$datas_xml = str_replace(array('<VUF>', '</VUF><VLOC_NO>', '</VLOC_NO><VLOCSUB>', '</VLOCSUB><VLOG_NO_DNEC>', '</VLOG_NO_DNEC><VLOG_TX_ADICIONAL>', '</VLOG_TX_ADICIONAL><VTLO_TX>', '</VTLO_TX><VBAIRRO>', '</VBAIRRO><VNOME>', '</VNOME><VCEP>', '</VCEP><VCEPTIPO>', '</VCEPTIPO><VLOC_NU>', '</VLOC_NU>'), array('', '|', '|', '|', '|', '|', '|', '|', '|', '|', '|', ''), $value);
$all_ceps[$numb_cep++] = explode('|', $datas_xml);
}
}
return
$all_ceps;
}

// Faz as Querys Strings de Exibição
if (!isset($_GET['cep'])) {
echo
'<form action="' . $_SERVER['PHP_SELF'] .'?cep" method="post">
Cep: <input type="text" name="cep1" value="" size="5">-<input type="text" name="cep2" value="" size="3">
<input type="submit" value="Procurar">
</form>'
;
} else {
if (empty(
$_POST['cep1'])) {
echo
'Favor Coloque pelo menos o Prefixo do Cep';
} else {
$ceps = CepXMLArray();
for (
$i = '0'; $i < count($ceps); $i++) {
 echo
'<b>Endereço:</b> ' . $ceps[$i]['3'] . ' - <b>CEP:</b> ' . $ceps[$i]['8'] . '<br>';
}
}
}
?>


;)

Edição feita por: sk15, 03/11/2004, 12:59.


#4 dokkalfr

dokkalfr

    Ich bin der Geist der stets verneint

  • Usuários
  • 203 posts
  • Sexo:Não informado
  • Localidade:Svartheim
  • Interesses:Programação e sexo

Posted 04/11/2004, 01:21

é claro q n precisa utilizar classes ... mas se tu seguir o link que eu postei e ler nas conclusões vai concordar comigo que a utilização de orientação a objetos permite reutilização do código entre outras maravilhas ... mesmo em PHP4 teu código poderia ter ganho em performance e clareza de código se utilizasse DOM ou SAX ... O código do qual eu postei o link é na verdade uma demonstração de uso da framework que eu mantenho, mas postei pra mostrar a facilidade de trabalhar com o SimpleXML que vem no PHP5 ;)

Mesmo assim, parabéns pelo código! Ele cumpre seu papel; e para alguns é isso que importa ;)

Edição feita por: dokkalfr, 04/11/2004, 08:43.

Ainda com dúvida? Os melhores programadores PHP estão aqui
=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Blog PHPClube
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Bookmarks

#5 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 10/11/2004, 12:25

Eu sei disso :)

O problema é que o 'DOM' e o 'SAX' são modulos externos no meu servidor pessoal por exemplo eles exitem estão instalados e funcionão; mas na grande maioria dos servidores WEB esses modulos não estão presentes e/ou instalados o que impossibilida seu uso.

E quanto ao 'SimpleXML', o problema dela é que só tem no PHP 5 em diante e o PHP 5 ainda não está tão difundindo nos servidores como as versões 4.x.x.

Eu sei que ela está `um pouco` pesada mas a vantagem é que ela é usual em quase ou todas as versões do PHP; O que tentei fazer foi priorizar o funcionamento no maior número possiveis de php/servidores ...

Mesmo assim obrigado pelo elogio (se é que isso foi um).!

Edição feita por: sk15, 10/11/2004, 12:29.





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq